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 的错误。

我是ninjameson 的新手,请告诉我如何解决这个问题。

【问题讨论】:

【参考方案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 编译的要大得多?

将外部 DPVS 应用程序(使用 Makefile)与使用 Meson 构建的 DPDK 链接

C/C++ 构建系统,我用 xmake

使用介子/忍者构建需要多次执行才能完成