所以我已经安装了devtools,但是我猜我的libstdc++库不是正确的版本或者不是32位的?我在尝试编译时遇到此错误。我该如何解决这个问题?
/opt/centos/devtoolset-1.1/root/usr/libexec/gcc/x86_64-redhat-linux/4.7.2/ld: skipping incompatible /opt/centos/devtoolset-1.1/root/usr/lib/gcc/x86_64-redhat-linux/4.7.2/libstdc++_nonshared.a when searching for -lstdc++_nonshared
/opt/centos/devtoolset-1.1/root/usr/libexec/gcc/x86_64-redhat-linux/4.7.2/ld: cannot find -lstdc++_nonshared发布于 2014-11-21 18:06:22
我也有类似的问题,我已经厌倦了devtoolset1、1.1和2,结果都是一样的。进一步查看,我在目录中看到:
/opt/centos/devtoolset-1.0/root/usr/lib/gcc/x86_64-CentOS-linux/4.7.0这里有一个"32“目录,这里有一些库文件和指向另一个目录的链接,它们表示"i386":
libitm.a -> ../../../i386-CentOS-linux/4.7.0/libitm.a
libitm.so
libquadmath.a -> ../../../i386-CentOS-linux/4.7.0/libquadmath.a
libquadmath.so
libstdc++.a -> ../../../i386-CentOS-linux/4.7.0/libstdc++.a
libstdc++_nonshared.a -> ../../../i386-CentOS-linux/4.7.0/libstdc++_nonshared.a
libstdc++.so
libsupc++.a这个"i386“目录不是使用yum安装的,而是使用如下命令安装的:
yum install devtoolset-2在x64 CentOS计算机上。
因此,正如上面提到的Zinglish所问的那样,如何将32位库安装在64位操作系统上呢?我使用http://people.centos.org/tru/devtools-2作为RPM源代码。
发布于 2015-09-02 00:34:46
64位CentOS 6和devtoolset1.1也存在类似问题。
32位库似乎安装在:
/opt/centos/devtoolset-1.1/root/usr/lib/gcc/x86_64-redhat-linux/4.7.2/32
目录中的一些库被符号链接到../../../i686-redhat-linux/4.7.2/,中不存在的文件。
所以我显式地安装了devtoolset 32位库:
yum install devtoolset-1.1.*i686
但它们以某种方式安装在/opt/rh/devtoolset-1.1/root/usr/lib/gcc/i686-redhat-linux/4.7.2/中,因此手动将目录符号链接到所需的位置:
根目录/opt/rh/devtoolset-1.1/root/usr/lib/gcc/i686-redhat-linux /opt/rh/
-s -1.1/-s/usr/lib/gcc/.
最终编译成功32位app。
发布于 2017-08-24 10:18:36
我以前遇到过类似的问题,我想是一个原因,并找到了解决方案。
环境:
(centos6 x64 g++)问题:当我尝试用Makefile编译.cpp和.h时,我得到了下面的错误..
skipping incompatible .../libstdc++.so 原因:
> tried to compile 32bit at 64bit linux machine(centos). However there
> was no appropriate g++ library.解决方案:安装libstdc++
yum list *stdc*
yum install libstdc++-devel.i686https://stackoverflow.com/questions/26450822
复制相似问题