1. 发生错误localhost linuxqq_v1.0.2_i386 # ./qq ./qq: /usr/lib/gcc/i686-pc-linux-gnu/4.3.4/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by ./qq)
2. libstdc++.so.6库需要更新(升级gcc)
gentoo:
libstdc++.so和libstdc++.so.6都是软连接(为什么ldconfig时,如果发现不是软连接会报错?)。4.3.4中连接到libstdc++.so.6.0.10上,4.4.5中连接到libstdc++.so.6.0.13上。
localhost 4.3.4 # ls libstdc++.* -lh-rw-r--r-- 1 root root 2.1M May 7 2010 libstdc++.alrwxrwxrwx 1 root root 19 Jun 3 19:03 libstdc++.so -> libstdc++.so.6.0.10lrwxrwxrwx 1 root root 19 Jun 3 19:03 libstdc++.so.6 -> libstdc++.so.6.0.10-rwxr-xr-x 1 root root 921K May 7 2010 libstdc++.so.6.0.10
localhost 4.4.5 # ls -lh libstdc++.*-rw-r--r-- 1 root root 2.2M Jun 3 12:41 libstdc++.alrwxrwxrwx 1 root root 19 Jun 3 12:41 libstdc++.so -> libstdc++.so.6.0.13lrwxrwxrwx 1 root root 19 Jun 3 12:41 libstdc++.so.6 -> libstdc++.so.6.0.13-rwxr-xr-x 1 root root 949K Jun 3 12:41 libstdc++.so.6.0.13
方法一:
ps:先查看gcc-config的帮助
gcc-config -l
gcc-config i686-pc-linux-gnu-4.4.5
source /etc/profile
Ps:升级gcc后的提示
方法二:修改动态库寻找路径(本例中,使得应用程序使用gcc 4.4.5的so,而不是使用gcc 4.3.4的so,即把gcc 4.3.4的so路径注释掉
或者将对应的so拷贝到qq所在目录下,并将qq所在目录加入so寻找路径)
参考连接:http://blog.csdn.net/xiaoxiaosunzhao/archive/2011/03/10/6238667.aspx
修改方法:
a. vi /etc/ld.so.conf
/usr/local/libinclude ld.so.conf.d/*.conf//usr/lib/opengl/xorg-x11/lib/usr/i686-pc-linux-gnu/lib#/usr/lib/gcc/i686-pc-linux-gnu/4.3.4/usr/lib/gcc/i686-pc-linux-gnu/4.4.5/usr/lib/xulrunner-1.9.2/usr/lib/qt4
或者
/usr/local/libinclude ld.so.conf.d/*.conf//usr/lib/opengl/xorg-x11/lib/usr/i686-pc-linux-gnu/lib/work/downloads/linuxqq_v1.0.2_i386/usr/lib/gcc/i686-pc-linux-gnu/4.3.4/usr/lib/gcc/i686-pc-linux-gnu/4.4.5/usr/lib/xulrunner-1.9.2/usr/lib/qt4
b. ldconfig
方法三:
1. 发生错误
localhost linuxqq_v1.0.2_i386 # ./qq
./qq: /usr/lib/gcc/i686-pc-linux-gnu/4.3.4/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by ./qq)
2. libstdc++库需要更新
3. 办法:
cd /usr/lib/gcc/i686-pc-linux-gnu/4.3.4
mv libstdc++.so.6 libstdc++.so.6_bake
ln ../4.4.5/libstdc++.so.6.0.13 libstdc++.so.6 (或者cp ../4.4.5/libstdc++.so.6 .)