问题标签 [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 投票
2 回答
1148 浏览

meson-build - 不同平台的介子交叉文件

在介子中,您可以在交叉文件中指定一个交叉编译器,例如:

如果您确切知道编译器的运行位置,那就太好了。如果我想为 Windows 指定相同的编译器,我需要一个不同的交叉文件,例如:

有没有办法在两个平台上只使用一个交叉文件?我认为find_program可能会有所帮助,但我只是收到有关跨文件变量 c 中格式错误的值的错误。

0 投票
1 回答
2358 浏览

ninja - 安装介子和忍者(一个删除另一个)

想安装jsoncpp,https://github.com/open-source-parsers/jsoncpp

说明:“首先,安装介子(需要 Python3)和忍者”

运行 sudo apt-get install meson ninja 结果:

尝试安装 ninja 会删除介子,安装介子会删除 ninja

0 投票
1 回答
6455 浏览

cross-compiling - 介子交叉编译依赖

您好,我正在尝试为 arm 交叉编译 systemd,但我陷入了“挂载”交叉依赖。

我设法从 util-linux 交叉编译 libmount,但无法弄清楚将它放在哪里或如何指定介子应该在哪里寻找它。

有一个 'mount-path' 选项,但即使提供它仍然说:

我的交叉编译文件如下所示:

顺便说一句,如果您知道另一种在没有这种荒谬(恕我直言)设置的情况下将 systemd 放在手臂上的方法,那就太好了。

谢谢你。

0 投票
2 回答
2195 浏览

vala - Flatpak Meson 没有从 Gnome Builder 中找到 Vala 库

在 Linux 中,我在 Gnome Builder (3.26.4) 中使用 Meson (0.44.0) 作为控制台程序,该程序将使用 Gee 和 GXml。我的意图是在 Genie 中写这个。

当我在 Gnome Builder 中使用 Meson 时,它会失败,但在使用 valac (0.38.8) 从命令行调用时同样成功,如下所示:

上面没有错误。我尝试将 meson.build 设置为 gee 和 gxml 作为依赖项,或者设置为vala_args。同样的错误。

检查 pkg-config,我得到以下信息:

也许我做错了什么。这是本地 meson.build 文件,后跟顶级 meson.build 和错误:

使用顶级 meson.build:

错误是:

我正在从 Gnome-Builder 中调用构建。有人可以帮助我了解发生了什么吗?我试图找出为什么 valac 成功而 meson 在文档中失败但找不到解决方案。

0 投票
1 回答
506 浏览

c++ - 可以用 Meson 构建一个简单的项目,但不能用 CMake

我想从我的 C++ 源代码(测试和发布)中获取两个可执行文件。我在两个单独的 C++ 文件中有两个 main() 函数。

使用介子构建系统很容易:

我无法与CMake相同:

我得到第一个可执行文件(prjName),但不是第二个,但出现错误:

'main' 的多重定义

不过main()函数是在“source1.cpp”和“test.cpp”中定义的,所以应该没有冲突。

考虑到从 Meson 构建中看起来代码应该没问题,我该如何解决这个问题?

0 投票
1 回答
2192 浏览

c++ - 生成源的 Meson custom_target 输出目录

我有一个这样的目录(项目)结构:

在目录project_Ameson.build 文件中使用源文件生成器,如下所示:

生成的文件假设project_A在生成时位于目录下。这意味着在构建过程中应该保留目录结构,文件应该放在build/project_A目录下。但它们是在build目录中生成的。

我正在查看文档,我已经在某处发现对于生成器,默认情况下输出目录是介子构建目录。

在这种情况下,如何使生成的文件进入某个目录build/project_A

0 投票
1 回答
650 浏览

meson-build - 如何在介子中链接两个 custom_targets?

两个正确构建我的目标,我需要在介子中链接两个自定义命令:

  • gob2 - 将 .gob 文件转换为一对 .c 和 .h 文件
  • patch_src - 一个小的 python 程序,可以制作 gob2 输出的小补丁。

但我不知道如何给 patch_src 命令提供 gob2 程序的输出作为输入。如果我执行以下操作:

我显然得到了gtk-image-viewer.c未找到的错误,这是有道理的,因为它被写入@OUTPUTDIR@. gtk-image-viewer.c但是我如何指定介子在其中寻找@OUTPUTDIR@

0 投票
1 回答
344 浏览

gtk - jhbuild build 得到了我的系统上未安装的错误介子版本

当我运行时:jhbuild build gtk+-3

我得到:

Meson 在文件 meson.build 第 1 行第 0 列中遇到错误:

介子版本是 0.44.1,但项目需要 >= 0.45.0。

但是当我跑步时:~/.local/bin/meson --version我得到:

所以我的版本足够高。

那么发生了什么?它从哪里得到这个 0.44.1?

我确实尝试做find / -name meson我唯一发现的是0.46.1 version.

我也尝试过:alias meson="~/.local/bin/meson"

0 投票
1 回答
173 浏览

c++ - 在 Meson 中,我可以避免不断地从源代码跳转到构建目录并返回吗?

在 Meson 中进行源外构建:

然后:

是否有可能做这样的事情(来自builddir):

即避免从源代码跳转到构建目录并返回。

对于 CMake,这是默认设置。

0 投票
1 回答
1643 浏览

c++ - 介子和本征的文件路径问题

我无法使本地包含路径在 Meson 构建系统中工作。

此 C++ 包含工作正常:

这个没有:

致命错误:特征/密集:没有这样的文件或目录

在 Meson 构建文件中,我尝试添加 Eigen 的路径,但没有成功:

这是项目树结构:

注意:使用 CMake 我没有这个问题。