2

我目前正在尝试在 64 位 Ubuntu 12.04 机器上将一些代码编译为 32 位。如果我用正常的 make 命令编译代码,一切正常。

现在,为了将其编译为 32 位,我在 C- 和 CXXFLAGS 中添加了 -m32 选项。工作正常,直到我收到一些关于缺少库的错误,如-lGL, -lGLU, -lX11, . 好的,我找到的第一个库()是通过选项添加的。其他库都可以在其中找到,但添加 via并不能解决问题。-lXext-lpng-lGL/usr/lib32/nvidia-304-L/usr/lib/i386-linux-gnu-L

我在这里想念什么?提前致谢!

这是导致错误的完整 gcc 命令

gcc myprog.o -m32 (...) -lX11 -lXext -lpng -lm -L/usr/lib/i386-linux-gnu -lGL -L/usr/lib32/nvidia-304 -lpthread -o myprog
/usr/bin/ld: cannot find -lX11
/usr/bin/ld: cannot find -lXext
/usr/bin/ld: cannot find -lpng

另一件事:在/usr/lib32/nvidia-304我找到了一个libGL.soPLUSlibGL.la时,/usr/lib/i386-linux-gnu我只能找到.so文件。

4

1 回答 1

1

不确定它是否有帮助,但我前段时间遇到了一个类似的问题,其中一些符号链接在/usr/lib/i386-linux-gnu. 也许您面临类似的问题?

于 2013-09-30T13:56:22.963 回答