Chr*_*ris 131 c++ gcc libstdc++
如何在Ubuntu中获得GLIBCXX_3.4.15?我无法运行一些我正在编译的程序.
当我做:
strings /usr/lib/libstdc++.so.6 | grep GLIBC
Run Code Online (Sandbox Code Playgroud)
我明白了:
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_3.4.14
GLIBC_2.2.5
GLIBC_2.3
GLIBC_2.4
GLIBC_2.3.4
GLIBC_2.3.2
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助!
Chr*_*ris 79
我正在从源代码编译gcc 4.6,显然
sudo make install
Run Code Online (Sandbox Code Playgroud)
没有赶上这一个.我挖了一圈,发现了
gcc/trunk/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.15
Run Code Online (Sandbox Code Playgroud)
我将它复制到/ usr/lib并重定向libstdc ++.so.6指向新的,现在一切正常.
Mar*_*n G 47
过去我只是简单地将libstdc ++与链接我的可执行文件时发送到g ++的参数静态链接起来一直避免这个问题:
-static-libstdc++
Run Code Online (Sandbox Code Playgroud)
如果静态链接库是一个选项,这可能是最快的解决方法.
小智 45
我试图让clang工作(这也需要6.0.15),而在我四处寻找时发现它已安装在/usr/local/lib/libstdc++.so.6.0.15.它安装在那里我安装了石墨(一个实验性的gcc版本).
如果您需要访问该位置的库,那么您需要定义LD_LIBRARY_PATH为:
export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/usr/local/lib64:/usr/lib64
这样做后,我能够开始工作.希望对某人有所帮助.
小智 12
尝试使用matlab eng从c代码调用m函数时遇到此问题.这与命令一起发生mex -f .. ..
我的解决方案
strings /usr/lib/i386-<tab>/libstdc++.so.6 | grep GLIBC
Run Code Online (Sandbox Code Playgroud)
我发现它包括3.4.15
所以我的系统有最新的库.
问题来自matlab本身,它调用自己的libstdc ++.so.6来自 {MATLAB}/bin
所以,只需用更新的系统库替换它.
| 归档时间: |
|
| 查看次数: |
276350 次 |
| 最近记录: |