c-如何从介子中获取目录路径



我已经阅读了介子文档中的以下行

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

这应该在运行介子时安装datafile.datshare/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

相关内容

  • 没有找到相关文章

最新更新