问题标签 [meson-build]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
914 浏览

yocto - 在 yocto 战士分支中生成 core-image-selinux 时出现“介子失败”

core-image-selinux为 yocto Warriors 分支生成时,我遇到了错误,

这就是我所做的:

  • 克隆pokymeta-openembeddedmeta-selinux用于战士分支
  • source poky/oe-init-build-env
  • 在下面的图层中添加bblayers.conf

    /home/panther2/warrior/meta-openembedded/meta-python \

    /home/panther2/warrior/meta-openembedded/meta-oe \

    /home/panther2/warrior/meta-selinux \

  • 在以下行中添加local.conf

    DISTRO_FEATURES_append = "acl xattr pam selinux" PREFERRED_PROVIDER_virtual/refpolicy ?= "refpolicy-mls"

  • 执行bitbake core-image-selinux并得到上述错误

非常感谢您的任何帮助,感谢您的宝贵时间。

0 投票
1 回答
737 浏览

linker - 尝试添加自定义依赖项时 Meson 和 Ninja 中的链接器错误

我正在尝试使用 Meson 将基于源的库添加到我的项目中。但是当我尝试这样做时,我得到目标文件链接错误。

我尝试将自定义依赖项添加到项目可执行文件,但当然,它说它是未定义的(srclibdep在前面的代码中),因为它是在项目可执行文件之后定义的。但是如果我在项目可执行文件之前定义,那么我无法链接。

这是我的 ./meson.build

和 ./SourceLibraryName/meson.build

我收到数百个链接错误,说x::Y引用不存在,但是编译器编译了代码,就好像依赖关系已经存在一样。

0 投票
1 回答
269 浏览

python - Python:at 符号 (@) 之间的单词

在我使用的其中一个 linux 应用程序脚本中,我看到“@”符号之间的单词,例如@devel@, 和@gtk_major_version@. 我想知道它们被称为什么,它们在 Python 中的功能,以及为什么脚本具有“.in”扩展名而不是“.py”。

0 投票
2 回答
1626 浏览

meson-build - 从介子脚本修改安装前缀

我需要在介子构建脚本中修改安装前缀选项...

我的想法是,当用户选择一些特殊选项时,安装前缀是从外部工具获取的(具体来说,使用${CORSS}gcc -print-sysroot

0 投票
1 回答
55 浏览

generator - 介子依赖 catch22 和对目标输出的延迟访问

我们想介绍 Meson 来构建我们现有的 C++ 应用程序。我们的结构如下:

  • Wie 有 8 个主要模块 (mod_X)
  • 每个模块有 20-40 个子目录,每个子目录有 5-100 个 cpp 文件;在库和可执行文件中分开。
  • mod_INFRA/apps/myparser有一个创建代码生成器可执行文件的目标
    • 这仅取决于mod_INFRA/libs/A
  • 代码生成器必须应用于所有模块和子目录中众多子目录中的某些文件 (*.rules),包括 mod_INFRA 本身。
  • 生成的源代码必须与目标一起编译和考虑subdir_X

我想达到的目标:

  • root/meson.build定义一个通用且可重用的,custom_target或者我可以根据需要在generator每个模块和子目录中调用/应用。

问题:

  • root/meson.build中,我们定义了编译器标志等公共变量,我们subdir(‘mod_INFRA’)为每个模块做。在mod_INFRA/meson.buildsubdir(‘apps/xyz’), subdir(‘libs/abc’), 为每个子目录做等。没关系
  • 但是我很难定义custom_target or generatorin root/meson.build。之前还没有所需的可执行文件subdir('mod_INFRA')subdir(..)为时已晚,因为我已经需要生成器在mod_INFRA.

一个可能的解决方案可能是通过目标名称延迟解析可执行文件的“代理”。例如,如果我能做到(伪代码)generator(getTargetOutput(‘myparser’), …):. 但我不知道这是否可用。

在不完全重构目录结构的情况下如何解决它的任何其他想法?

0 投票
1 回答
355 浏览

ssl-certificate - wrapdb.mesonbuild.com 发生了什么奇怪的事情吗?

我正在使用介子构建系统,但今天早上我遇到了 wrapdb.mesonbuild.com的问题。

使用我的计算机和另一台计算机(用于检查),当使用 Chromium 或 Firefox 等网络浏览器时,我收到如下消息:

(我已经用ntpdate检查了我的计算机时间等......所以我先验这不是问题的根源)

还有任何尝试使用:

失败,输出如下:

你能重现吗?我找不到问题的根源。


更新:似乎 wrapdb.mesonbuild.com 过去已经关闭:

https://github.com/mesonbuild/meson/issues/3497

也许这是我目前的问题。


更新 2:我没有反射但是有

https://www.sslshopper.com/ssl-checker.html#hostname=wrapdb.mesonbuild.com

可以看到网站的证书昨天过期了……

还要感谢@TomEsposito 指出这一点。

0 投票
1 回答
70 浏览

gtk - 非编译语言的构建系统

gnome-builder我确实使用Gnome Application模板创建了一个 python 项目。我意识到模板构建了整个项目结构,并使用介子构建系统添加了构建能力,所以我很好奇。为什么要为那些不像 python 那样编译的语言使用构建系统?

0 投票
0 回答
150 浏览

node.js - 如何通过介子构建系统编译 Node.js 原生 api 扩展

我想在不使用包的情况下编译Node.jsC/C++ 扩展。node-gyp

我有经验meson并且会用它来编译Node.js模块。

你能建议如何编译Node.js本机模块的例子吗?

PS我使用了一些subproject带有静态专有库的库,node-gyp对于这个硬构建来说非常简单。

0 投票
1 回答
956 浏览

gcc - 无法构建台面的静态库(libGL.a)

试图建立一个 libGL 的静态库。查看“介子配置”,它指出静态库是默认的。不过,我最终只得到了一个 libGL.so 文件。是否有任何魔法巫术可以让静态版本编译?我在网上找到的唯一答案是仍然使用标准“./configure; make”的旧版台面

0 投票
1 回答
1044 浏览

meson-build - meson.build:错误:文件不存在,而实际上它确实存在

从一个简单的meson.build文件中,我收到以下错误:

meson.build:27:0:错误:文件 dataStructures.hpp 不存在。

meson.build文件是:

报告为丢失的文件存在,它与 meson.build 文件位于同一目录中。

如果我从列表中删除“dataStructures.hpp”字符串,第二个文件“interface.hpp”也会出现同样的错误。

我究竟做错了什么?


更多细节如下。

在完整的日志中没有比已经报告的更多。

这是项目目录结构: