【问题标题】:glib version is not the minimum requiredglib 版本不是最低要求
【发布时间】:2018-12-21 06:02:25
【问题描述】:

我在 Debian 9 i386 机器上使用 gcc 编译包含 glib.h 的程序时遇到问题。 gcc 告诉我我的 glib 版本不符合最小值。

GLIB_VERSION_MIN_REQUIRED must be >= GLIB_VERSION_2_26

机器上的GLIBC版本是2.24

# ldd --version
ldd (Debian GLIBC 2.24-11+deb9u3) 2.24

但我安装了 -dev 包,它说安装了 2.50.3-2

# apt install libglib2.0-dev
...
Get:1 http://ftp.us.debian.org/debian stretch/main i386 libglib2.0-dev i386 2.50.3-2 [3,091 kB]
...

但是,错误仍然存​​在。我能够在 Debian 9 x86_64 机器上毫无问题地编译这个项目。还需要安装什么才能使其正常工作?

【问题讨论】:

    标签: gcc debian glib


    【解决方案1】:

    GLIB_VERSION_MIN_REQUIRED 与安装的 GLib 版本不同。 GLIB_VERSION_MIN_REQUIRED 是一个宏,由您尝试编译的程序定义,用于告诉 GLib 它所依赖的 GLib 的最低版本,以便 GLib 可以在程序使用更高版本的 GLib 中引入的符号时向您发出警告。见its documentation

    如果 GLIB_VERSION_MIN_REQUIRED 设置为 GLIB_VERSION_MIN_REQUIRED must be >= GLIB_VERSION_2_26 错误消息。这是您尝试编译的程序中的一个错误:找到它定义 GLIB_VERSION_MIN_REQUIRED 的位置并将该依赖关系提高到 ≥ 2.26。

    机器上的GLIBC版本是2.24

    # ldd --version
    ldd (Debian GLIBC 2.24-11+deb9u3) 2.24
    

    这无关紧要。 GLib(C 实用程序库)与 glibc(系统 C 运行时库)不同。

    【讨论】:

    • 我所做的只是包含 glib.h,这样我就可以使用哈希表了。 x86_64 上的代码完全相同,但没有问题。它将在哪里定义,以便我可以将其提高?如果我安装了 2.50,它不应该已经设置了吗?
    • GLIB_VERSION_MIN_REQUIRED 是在您正在编译的项目的代码中定义的,而不是在 GLib 本身中。我无法帮助您在项目中找到它。 git grepack 会很有用。
    猜你喜欢
    • 2018-12-30
    • 2019-01-17
    • 1970-01-01
    • 2013-04-05
    • 1970-01-01
    • 1970-01-01
    • 2017-01-07
    • 1970-01-01
    • 2015-05-17
    相关资源
    最近更新 更多