我试图按以下方式编制:
-bash-4.1$ g++ -static -m32 Hello.cpp
会犯这样的错误:
/opt/rh/devtoolset-4/root/usr/libexec/gcc/x86_64-redhat-linux/5.2.1/ld: skipping incompatible /opt/rh/devtoolset-4/root/usr/lib/gcc/x86_64-redhat-linux/5.2.1/libstdc++.a when searching for -lstdc++
/opt/rh/devtoolset-4/root/usr/libexec/gcc/x86_64-redhat-linux/5.2.1/ld: cannot find -lstdc++
collect2: error: ld returned 1 exit status我也尝试过这样做,,但仍然得到了完全相同的错误在之上
g++ -static -m32 -L/opt/rh/devtoolset-4/root/usr/lib/gcc/x86_64-redhat-linux/5.2.1/32 Hello.cpp
这两种命令我都试过了--没有任何帮助。
为什么它还在看错误的目录?
是否使用-m32选项覆盖-L选项?
我找不到很多关于-m32选项的文档。
请帮帮忙。
谢谢!
发布于 2016-10-16 07:57:37
-L选项将您的路径添加到这些目录列表中,因此编译器仍在错误地查找目录。要获得更详细的输出,请使用详细的输出-###或-v选项对程序进行编译。-m32选项是选择生成32位代码,例如:您可以生成在32位机器上工作的32位代码,在您的64位机器上。此外,您还可以在64位计算机上运行这段代码--它会运行得很好。此外,要向编译器说明在何处查找库,可以设置
LD_LIBRARY_PATH在您的env export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$FULL_PATH_TO_YOUR_LIB中
不要覆盖env -因为如果你不完全确定你在做什么,它可能会引起更多的问题。
https://stackoverflow.com/questions/40067909
复制相似问题