我在 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/