运行AlgoLoader的时候,遇到了下面的报错:
./AlgoLoader: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by ./AlgoLoader)
./AlgoLoader: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /home/dyc/work/PIE_CPLUS/src/OutDir/Debug_Linux64/libSysAlgoD.so.1)
./AlgoLoader: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /home/dyc/work/PIE_CPLUS/src/OutDir/Debug_Linux64/libSysDataSourceD.so.1)
./AlgoLoader: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.17' not found (required by /home/dyc/work/PIE_CPLUS/src/OutDir/Debug_Linux64/liblog4cplus.so.0)
./AlgoLoader: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /home/dyc/work/PIE_CPLUS/src/OutDir/Debug_Linux64/liblog4cplus.so.0)
./AlgoLoader: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by /home/dyc/work/PIE_CPLUS/src/OutDir/Debug_Linux64/liblog4cplus.so.0)
./AlgoLoader: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by /home/dyc/work/PIE_CPLUS/src/OutDir/Debug_Linux64/liblog4cplus.so.0)
./AlgoLoader: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.19' not found (required by /home/dyc/work/PIE_CPLUS/src/OutDir/Debug_Linux64/liblog4cplus.so.0)
./AlgoLoader: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /home/dyc/work/PIE_CPLUS/src/OutDir/Debug_Linux64/libgeos-3.6.0.so)
./AlgoLoader: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /home/dyc/work/PIE_CPLUS/src/OutDir/Debug_Linux64/libgdal.so.20)
./AlgoLoader: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /home/dyc/install/libecw/lib/libNCSEcw.so.0)
执行: # strings /usr/lib64/libstdc++.so.6|grep GLIBCXX
得到结果:
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
到13到头了,所以报错啦。
解决方法
到编译时的目录下面找到文件:libstdc++.so.6.0.18
我编译的时候,建立gcc-bulid-4.8.2文件夹,具体方法参见:http://blog.csdn.net/duke0226/article/details/73699319
注意,进入目录是,.libs是隐藏的:/home/dyc/work/srcPacket/gcc-4.8.2/gcc-bulid-4.8.2/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs
用下面的命令查看:
strings libstdc++.so.6.0.18|grep GLIBCXX
一般来讲,里面就有满足需要的GLIBCXX版本了。
然后,把该文件拷贝到了/usr/lib64下.
然后将libstdc++.so.6指向libstdc++.so.6.0.18:
[root@dyc lib64]# rm -r libstdc++.so.6
rm:是否删除符号链接 "libstdc++.so.6"?y
[root@dyc lib64]# ln -s libstdc++.so.6.0.18 libstdc++.so.6
Bingo!
相关参考:http://blog.csdn.net/abcd1f2/article/details/49777715