gcc - glib 版本不是所需的最低版本

标签 gcc debian glib

我在 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 机器上毫无问题地编译这个项目。还需要安装什么才能使其工作?

最佳答案

GLIB_VERSION_MIN_REQUIRED与安装的 GLib 版本不同。 GLIB_VERSION_MIN_REQUIRED是一个由您要编译的程序定义的宏,用于告诉 GLib 它所依赖的 GLib 的最低版本,以便 GLib 可以警告您该程序是否使用了更高版本的 GLib 中引入的符号。请参阅its documentation .

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

The GLIBC version on the machine is 2.24

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

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

关于gcc - glib 版本不是所需的最低版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53879907/

相关文章:

javascript - java-JavaFx WebView 无法在 Debian 上从 JS 进行向上调用

gcc - CUDA 与我的 gcc 版本不兼容

c++ - std::unique_ptr 在 GCC 中工作,但不会在 Visual Studio 中编译

c - 我可以为 gfortran 使用哪些 gcc 编译器选项

c++ - GCC 4.8 和 char16_t 流 - 错误?

mysql - Redmine 和 SVN - 安装 pam_mysql 时出现问题

c++ - 跨 32 和 64 链接到静态 glib-2.0 库

c - g_hash_table_insert malloc() : memory corruption

c - 如何使用 GLib 获取基于文本的用户输入

gcc - 在嵌入式目标上动态加载代码