我在 Debian 9 i386 机器上使用 gcc 编译包含 glib.h 的程序时遇到问题。gcc 告诉我我的 glib 版本不符合最小值。
GLIB_VERSION_MIN_REQUIRED must be >= GLIB_VERSION_2_26
Run Code Online (Sandbox Code Playgroud)
机器上的GLIBC版本是2.24
# ldd --version
ldd (Debian GLIBC 2.24-11+deb9u3) 2.24
Run Code Online (Sandbox Code Playgroud)
但我安装了 -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]
...
Run Code Online (Sandbox Code Playgroud)
但是,错误仍然存在。我能够在 Debian 9 x86_64 机器上毫无问题地编译这个项目。还需要安装什么才能正常工作?
GLIB_VERSION_MIN_REQUIRED与安装的 GLib 版本不同。GLIB_VERSION_MIN_REQUIRED是一个由您尝试编译的程序定义的宏,用于告诉 GLib 它所依赖的 GLib 的最低版本,以便 GLib 可以警告您该程序是否使用了更高版本的 GLib 中引入的符号。请参阅其文档。
如果设置为 < 2.26 版本,GLIB_VERSION_MIN_REQUIRED must be >= GLIB_VERSION_2_26则会发出错误消息。GLIB_VERSION_MIN_REQUIRED这是您\xe2\x80\x99 尝试编译的程序中的一个错误:找到它定义的位置GLIB_VERSION_MIN_REQUIRED并将该依赖关系提升到\xe2\x89\xa5 2.26。
\n\n\n机器上的GLIBC版本是2.24
\n\nRun Code Online (Sandbox Code Playgroud)\n# ldd --version\nldd (Debian GLIBC 2.24-11+deb9u3) 2.24\n
那\xe2\x80\x99s 无关紧要。GLib(C 实用程序库)与 glibc(系统 C 运行时库)不同。
\n