我有一个应用程序"Cprog"
,需要GCC 4.9和C ++ 11的libstdc++.so
。
为了在CentOS 6上满足此要求,我使用了Red Hat的devtoolset-6
。
此库位于:
$ scl enable devtoolset-6 bash
/opt/rh/devtoolset-6/root/usr/lib/gcc/x86_64-redhat-linux/6.3.1/libstdc++.so
我将LD_LIBRARY_PATH
路径变量添加为:
LD_LIBRARY_PATH=/opt/rh/devtoolset-6/root/usr/bin/gcc/x86_64-redhat-linux/6.3.1/:$LD_LIBRARY_PATH
在编译时,找不到lib:
/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by ./Cprog)
/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found
...ect
任何帮助将不胜感激。
答案 0 :(得分:0)
我发现 devtoolset 中的 libstdc++.so 只是一个“链接”, 尝试 cat 该文件然后可以找到:
[root@localhost 10]# cat libstdc++.so
/* GNU ld script
Use the shared library, but some functions are only in
the static library, so try that secondarily. */
OUTPUT_FORMAT(elf64-x86-64)
INPUT ( /usr/lib64/libstdc++.so.6 -lstdc++_nonshared )