gpt4 book ai didi

c++ - 程序在错误的位置查找 libstdc++.so.6,似乎忽略了 LD_LIBRARY_PATH

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:14:00 26 4
gpt4 key购买 nike

运行程序时出现以下错误:

/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by ...

我知道 /usr/lib64/libstdc++.so.6 是错误的版本,所以我将正确版本的路径添加到 LD_LIBRARY_PATH:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/gcc-4.8.3/lib

命令:

strings /usr/local/gcc-4.8.3/lib/libstdc++.so.6 | grep GLIBCXX

给我:

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
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH

但是,错误仍然存​​在,好像程序没有看到我添加到 LD_LIBRARY_PATH 的新版本。关于可能发生的事情有什么建议吗?

最佳答案

您遇到的问题是由于链接到错误的 listdc++ 库引起的,正如您已经确定的那样。您只导出 32 位的 libstdc++ 而不是 64 位的。

尝试添加包含在lib64中的libstdc++:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/gcc-4.8.3/lib:/usr/local/gcc-4.8.3/lib64

确保 LD_LBRARY_PATH编译代码之前正确设置。要检查二进制文件是否已链接到正确的 libstdc++,您可以使用 ldd。正确的输出应包含以下行:

/lib/usr/local/gcc-4.8.3/lib64/libstdc++.so.6

关于c++ - 程序在错误的位置查找 libstdc++.so.6,似乎忽略了 LD_LIBRARY_PATH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36376474/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com