[英]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 install
, datafile.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.