簡體   English   中英

如何從介子獲取目錄路徑?

[英]How to get directory path from meson?

我從介子文檔中閱讀了以下內容

install_data('datafile.dat', install_dir : get_option('datadir') / 'progname')

這應該在介子運行時將datafile.dat安裝到share/progname 我正在使用 linux,但我不清楚share/progname實際上位於我的計算機中的哪個位置。 在 c 程序中,例如我如何打開已安裝的文件? 運行這樣的東西對我不起作用:

 FILE * fptr = fopen("share/progname/datafile.dat", "w");
   ....

share/progname 是否類似於前綴,它是位置的虛擬路徑? 或者是別的什么? 如何安裝我的數據庫文件並從 c 程序訪問它?

安裝介子將使用前綴 + install_dir ,默認前綴是/usr/local/ ,所以如果你有:

install_data('datafile.dat', install_dir :'progname')

並調用ninja installdatafile.dat將安裝在'/usr/local/progname'

在你的情況下,你有

install_data('datafile.dat', install_dir : get_option('datadir') / 'progname')

如果您不提供-Dprefix-Ddatadir

ninja install將把它安裝在/usr/local/share/progname

但是您可以像這樣使用-Dprefix-Ddatadir對其進行調整:

meson -Dprefix='/path/to/prefix' -Ddatadir='other'..

並在調用ninja install后,它將安裝在/path/to/prefix/other/progname

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM