meson.build:97:0: 错误:未找到子项目目录且未找到 glib.wrap 文件

Rak*_*pta 5 python linux wireshark

我正在尝试安装 Wireshark。有一个 atk 包的依赖。我从网上下载了 atk-2.32.0。atk-2.32.0 只能由介子安装。

以下是我遵循的安装步骤。

  1. 下载攻击力
  2. 下载介子
  3. 移动到 atk 目录。
  4. 使用的命令
../meson-0.50.0/meson.py _build .  
>>However it is give this error:  
>>"meson.build:97:0: ERROR: Subproject directory not found and glib.wrap   
>>file not found."  
Run Code Online (Sandbox Code Playgroud)

请帮助解决此问题。

小智 0

要添加 Meson subproject,您需要创建一个.wrap文件并将其放在subprojects主 Meson 项目的目录中。

如果subprojects您的项目目录中不存在该目录,则需要创建它。subprojects然后在名为的目录中创建一个glib.wrap包含以下内容的文件:

[wrap-git]
url = https://gitlab.gnome.org/GNOME/glib.git

[provide]
dependency_names = glib-2.0, gobject-2.0, gio-2.0
Run Code Online (Sandbox Code Playgroud)

这个极其基本的.wrap文件应该可以工作,但是如果您正在交付一个项目(或者克隆存储库需要它),您可能更喜欢通过.wrap从 Meson 的WrapDB下载版本化文件来指定给定的 GLib 版本(向下滚动到glib)。

我对 Meson 子项目非常陌生,但似乎文件.wrap首先应该包含在克隆存储库中?同样在 Linux 上,至少 GLib 应该“正常工作”,或者至少应该可以通过像这样的compiler.find_library()调用来使用meson.build

[wrap-git]
url = https://gitlab.gnome.org/GNOME/glib.git

[provide]
dependency_names = glib-2.0, gobject-2.0, gio-2.0
Run Code Online (Sandbox Code Playgroud)

如果这些方法不太有效,请在评论中留言。我在这里发布一个答案,因为这是此错误消息的顶部 DuckDuckGo 搜索结果,但就我而言,我试图subproject向我自己的项目添加不同的答案,所以对我来说这将是相当多的工作来测试这个特定的例子。