2

我正在使用 GNOME builder 创建一个 vala 项目,并尝试通过以下方式将 libpeas-1.0 添加为 meson 的依赖项:

dependency('libpeas-1.0', version: '>= 1.22')

失败了:

src/meson.build:10:0: ERROR:  Native dependency 'libpeas-1.0' not found

如果我执行:

pkg-config --print-provides libpeas-1.0

在 bash 中,我得到:

libpeas-1.0 = 1.22.0

同样有效的是:

meson.get_compiler('vala').find_library('libpeas-1.0')

任何想法这里可能会出现什么问题?

4

1 回答 1

1

GNOME Builder 面向FlatPak,它是一种容器化技术和基础设施。问题可能是 GNOME Builder 使用的默认 Flatpak 运行时不包含 libpeas。

显然,您已经libpeas-1.0在主机系统上安装了。所以一种选择是让 GNOME Builder 使用主机操作系统。有一个选项可以选择 Flatpak 运行时。选择Host Operating Sytem

或者,您可以将libpeas-1.0依赖项作为模块添加到您的 Flatpak 清单中。清单采用 JSON 格式,因此这意味着添加类似于以下示例的内容gee-0.8

  "modules": [
    {
      "name": "libgee",
      "buildsystem": "meson",
      "config-opts": [
        "--libdir=lib"
      ],
      "builddir": true,
      "sources": [
        {
          "type": "git",
          "tag": "meson",
          "url": "https://github.com/GNOME/libgee.git"
        }
      ]
    }
  ]

在这个 StackOverflow 问题中有一个冗长而详细的讨论:Flatpak Meson Not Finding Vala Libraries From Gnome Builder。希望这将为您提供足够的信息以使事情正常进行。最好简化来自 StackOverflow 问题的说明,以便可以将一些文档添加到Vala wiki 的 GNOME Builder 页面

于 2018-08-02T23:46:22.010 回答