Meson 和 NInja 构建系统:指定二进制文件的存储位置
Posted
技术标签:
【中文标题】Meson 和 NInja 构建系统:指定二进制文件的存储位置【英文标题】:Meson and NInja build system: specifify where binaries are stored 【发布时间】:2020-06-19 17:01:11 【问题描述】:我有一个项目需要这样构建:
./meson.py build
./ninja -C build install
这很好用。唯一的事情是:二进制文件存储在(在 Linux 上):/usr/local/bin
。这需要我输入 root 密码,因为二进制文件正在写入 root 访问文件夹,也就是 /usr/local/bin
。
有没有办法将二进制文件安装在/user/home
目录中的某个文件夹中,这样就不需要密码了?
问题是每次我调试和更改某些内容时,重建过程都会强制重写二进制文件,每次都要求输入密码。
这是我尝试过的:
-
在家中创建一个文件夹:
mkdir ~/projectbin
使用带有--prefix
选项的忍者:./ninja -C --prefix=~/projectbin install
这会引发无法识别选项--prefix
的错误。
我是ninja
和meson
的新手,请告诉我如何解决这个问题。
【问题讨论】:
【参考方案1】:将选项传递给 Meson 的方法是使用 -D
选项。所以要设置前缀,你应该使用meson -Dprefix=$HOME/projectbin build
。
请注意,您在配置时(即调用meson
时)设置此设置,而不是在构建时(调用ninja
时)。
【讨论】:
以上是关于Meson 和 NInja 构建系统:指定二进制文件的存储位置的主要内容,如果未能解决你的问题,请参考以下文章
meson+ninja build系统,使用meson & ninja 编译C工程
Travis-ci windows meson+ninja build install (python 坏了)
为啥使用 Meson / Ninja 生成的二进制文件比普通 valac 编译的要大得多?