[英]Compiling 32bit on 64bit machine : /usr/bin/ld: cannot find -l<someLibs>
我目前正在尝试在64位Ubuntu 12.04计算机上将某些代码编译为32位。 如果我用正常的make命令编译代码,那么一切正常。
现在,为了将其编译为32位,我在C-和CXXFLAGS中添加了-m32选项。 可以正常工作,直到遇到有关-lGL
, -lGLU
, -lX11
, -lXext
和-lpng
类的缺少库的错误-lpng
。 好的,我在/usr/lib32/nvidia-304
找到了第一个库( -lGL
),该库是通过-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
libGL.la
而在/usr/lib/i386-linux-gnu
我只能找到.so
文件。
不确定是否有帮助,但是我前段时间遇到了类似的问题,在/usr/lib/i386-linux-gnu
下缺少一些符号链接。 也许您正面临类似的问题?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.