我有一个应用程序"Cprog",它需要GCC 4.9和C++11的libstdc++.so。
为了在RedHat6上满足这个要求,我使用了RedHat6的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在编译时,找不到库:
/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任何帮助都将不胜感激。
发布于 2021-05-25 23:46:49
我发现devtoolset中的libstdc++.so只是一个‘链接’,尝试猫这个文件,然后就可以找到它:
[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 )https://stackoverflow.com/questions/55811772
复制相似问题