从devtoolset指向libstdc ++-软件集合

时间:2019-04-23 12:56:10

标签: c++ c++11 gcc libstdc++ devtoolset

我有一个应用程序"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

任何帮助将不胜感激。

1 个答案:

答案 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 )