![](/img/trans.png)
[英]C++: ld incompatibility error when building a wxWidgets project under Msys using c++ libraries that are built with with g++ and -m32 option
[英]Compiling C++ with g++ -m32 option
我正在尝试这样编译:
-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
选项上找不到太多文档。
请帮忙。
谢谢!
-L
选项会将您的路径添加到这些目录列表中,因此,由于该原因,编译器仍会查找错误的目录。 有关更详细的输出,请尝试使用详细的输出-###
或-v
选项编译您的程序。 使用-m32选项覆盖-L选项吗?
答案是否定的-m32
选项是生成32位代码的选项,例如:您可以生成在32位计算机和64位计算机上运行的32位代码。 您也可以在64位计算机上运行此代码-它将很好地工作。
也要告诉编译器在哪里可以找到库,您可以设置
LD_LIBRARY_PATH
在ENV export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$FULL_PATH_TO_YOUR_LIB
不要覆盖env vars-如果您不确定自己在做什么,可能会引起更多问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.