如何修复:[程序名称] /usr/lib/x86_64-linux-gnu/libstdc++.so.6:版本CXXABI_1.3.8'未找到([程序名称]需要) [英] How to fix: [program name] /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version CXXABI_1.3.8' not found (required by [program name])
问题描述
我最近要求帮助不知道:`/usr/lib/x86_64-linux-gnu/libstdc++.so.6:版本`CXXABI_1.3.8'not found` 和它得到downvote和关闭(我不知道为什么)
I recently asked for help No idea as to: `/usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.8' not found` and it got downvoted and closed (I don't know why)
事实证明,make install - 安装并隐含目标的目标install-target- libstdc ++ v3实际上并不意味着你准备好了。
It turns out that "make install" - the make target that installs and implies the target "install-target-libstdc++v3" doesn't actually mean you're ready to go.
我一直在想着我做错了什么,因为我认为这样的目标会为我做这个。
I've been stuck for a while wondering what I was doing wrong because I assumed that such a make target would do that for me.
我希望这个答案能帮助至少一个其他人。
I hope this answer helps at least one other person.
推荐答案
类似的问题,运行以下:
For all those stuck with a similar problem, run the following:
LD_LIBRARY_PATH=/usr/local/lib64/:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
当你编译和安装GCC它确实把库放在这里,如常见问题所述( http://gcc.gnu.org/onlinedocs/libstdc++/faq.html #faq.how_to_set_paths ),您需要添加它。
When you compile and install GCC it does put the libraries here but that's it. As the FAQs say ( http://gcc.gnu.org/onlinedocs/libstdc++/faq.html#faq.how_to_set_paths ) you need to add it.
我假设我如何保证动态链接库将被找到?意味着我如何确保它总是找到不是它不会找到,你需要这样做
I assumed "How do I insure that the dynamically linked library will be found? " meant "how do I make sure it is always found" not "it wont be found, you need to do this"
对于那些不设置前缀的用户,它是/ usr / local / lib64
For those who don't bother setting a prefix, it is /usr/local/lib64
在安装gcc时,如果您阅读make输出,您可以简单地找到这一点:
You can find this mentioned briefly when you install gcc if you read the make output:
Libraries have been installed in:
/usr/local/lib/../lib32
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
- use the `-Wl,-rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to `/etc/ld.so.conf'
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
Grr很简单!还如果你偶然想要链接到安装的库 - 认真?
Grr that was simple! Also "if you ever happen to want to link against the installed libraries" - seriously?
这篇关于如何修复:[程序名称] /usr/lib/x86_64-linux-gnu/libstdc++.so.6:版本CXXABI_1.3.8'未找到([程序名称]需要)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!