我目前正在尝试在 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.so
PLUSlibGL.la
时,/usr/lib/i386-linux-gnu
我只能找到.so
文件。