【问题标题】:Vala Program does not compile under MSYS2 - pkg-config package not foundVala 程序在 MSYS2 下无法编译 - 找不到 pkg-config 包
【发布时间】:2015-07-25 05:42:36
【问题描述】:

我想为 Vala 编程语言编译 GTK+ 测试程序。我将代码保存为 main.vala 并使用命令行调用编译器

valac --pkg gtk+-3.0 main.vala

但这不起作用。我得到了错误:

Package gobject-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gobject-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gobject-2.0' found
error: pkg-config exited with status 1

为什么 pkg-config 找不到那个包?当我打电话时

pkg-config --list-all | grep gobject-2.0

我确实没有收到错误,但是

gobject-2.0     GObject - GLib type, Object, Parameter and Signal library

所以我的问题是,为什么程序不编译?

【问题讨论】:

    标签: vala pkg-config msys2


    【解决方案1】:

    根据您提供的信息很难弄清楚发生了什么——您可能必须自己弄清楚。我将尝试在此处包含一些指针。一个好的起点是设置PKG_CONFIG_DEBUG_SPEW 环境变量……

    最可能的原因是某些环境变量和/或被调用的 pkg-config 不同。很难准确地说出它们如何不同,但valac 所做的只是invoking pkg-config

    为了确定要执行哪个pkg-configvalac 首先查找--pkg-config 命令行选项,如果不存在,则查找PKG_CONFIG 环境变量(有关逻辑,请参见compiler/valacompiler.vala )。如果不存在,它只会调用pkg-config(该部分在codegen/valaccodecompiler.valaVala.CCodeCompier.compile 方法中)。

    从那里,pkg-config 接管。 pkg-config man page 解释了它如何搜索文件;基本上是PKG_CONFIG_PATH。同样,启用调试喷射可能是最好的起点。

    【讨论】:

    • 我通过确定使用的 pkg-config 构建 valac 已损坏来解决问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-25
    • 2013-02-13
    • 2014-07-04
    • 1970-01-01
    • 2021-08-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多