小编dmf*_*fnr的帖子

编译 64 位 Linux 的 32 位 GTK+ 应用程序

我在 64 位 Linux(特别是 Ubuntu 10.04)上编译 32 位 GTK+ 应用程序时遇到了一些问题。编译 64 位 GTK+ 应用程序工作正常,一切都设置为编译 32 位应用程序,但它不适用于 GTK+

我有一个非常简单的测试程序,用于排除故障,它只是一个 gtk_init 和一个 gtk_main,它可以很好地编译为 -m64。我正在使用 gcc 4.6.2 进行编译,并使用以下命令调用它:

gcc -m32 gtktest.c `pkg-config --cflags gtk+-2.0` `pkg-config --libs gtk+-2.0`
Run Code Online (Sandbox Code Playgroud)

这些是我收到的两种不同类型的错误消息:

/usr/local/lib/gcc/x86_64-unknown-linux-gnu/4.6.2/../../../../x86_64-unknown-linux-gnu/bin/ld: warning: libXext.so.6, needed by /usr/lib/../lib32/libgtk-x11-2.0.so, not found (try using -rpath or -rpath-link)
Run Code Online (Sandbox Code Playgroud)

/usr/lib/../lib32/libgdk-x11-2.0.so: undefined reference to `XmbSetWMProperties'
Run Code Online (Sandbox Code Playgroud)

请记住,这些不是唯一的错误,我只包含了两个特定类型以供参考,并且为了简短起见,我收到了整个 GTK+ 库堆栈的错误。

我的 lib32 文件夹中有所有正确的 32 位版本的库。

希望有人以前遇到过这个问题并且可以帮助我,这确实让我很头疼,而且我无法在网上的任何地方提供太多帮助。

请询问您是否需要我提供任何其他信息来帮助诊断此问题。

注意:我确实有 ia32-libs 和 gcc-multilib 包。Ubuntu 10.04 没有单独的 ia32-libs-gtk 包,但我认为这些都包含在 ia32-libs 包中。它们都存在于我的系统中。

我认为这一定是某种链接器配置问题。我最近构建了新的 Free Pascal 编译器和 32 …

c linux gtk linker 32bit-64bit

5
推荐指数
1
解决办法
4492
查看次数

标签 统计

32bit-64bit ×1

c ×1

gtk ×1

linker ×1

linux ×1