C++ 程序查找libstdc++;。所以。6在错误的地方,似乎忽略了LD_库_路径

C++ 程序查找libstdc++;。所以。6在错误的地方,似乎忽略了LD_库_路径,c++,C++,运行程序时,我遇到以下错误: /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/

运行程序时,我遇到以下错误:

/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\u LIBRARY\u PATH
的新版本一样。关于可能发生的情况有什么建议吗?

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

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

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/gcc-4.8.3/lib:/usr/local/gcc-4.8.3/lib64
在编译代码之前,请确保正确设置了
LD\u LBRARY\u路径。要检查二进制文件是否与正确的
libstdc++
链接,可以使用
ldd
。正确的输出应包含以下行:

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

你能发布ldd的输出吗?谢谢,这帮助我解决了问题谢谢,将/usr/local/gcc-4.8.3/lib64添加到LD_LIBRARY_PATH解决了我的问题