gpt4 book ai didi

c++ - 在 64 位机器上编译 32 位 :/usr/bin/ld: cannot find -l

转载 作者:太空宇宙 更新时间:2023-11-04 03:53:20 29 4
gpt4 key购买 nike

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

现在,为了将其编译为 32 位,我将 -m32 选项添加到 C- & CXXFLAGS。工作正常,直到我收到一些关于缺少库的错误,如 -lGL-lGLU-lX11-lXext , -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 下缺少一些符号链接(symbolic link)。也许您正面临类似的问题?

关于c++ - 在 64 位机器上编译 32 位 :/usr/bin/ld: cannot find -l<someLibs>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19095857/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com