g++ libstdc++.so.6:从 4.8.5 升级到 GCC 版本 7.3.0 后找不到版本 'CXXABI_1.3.9'
g++ libstdc++.so.6: version `CXXABI_1.3.9' not found after upgrade to gcc version 7.3.0 from 4.8.5
我想问题是 g++ 版本 7.3.0 仍在使用旧的 stdc lib ,我不确定..
我如何检查 ? 以及如何升级到新版本,因为应用程序的
运行时错误 IM 如下所示:
./a.out
./a.out: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by ./a.out)
./a.out: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./a.out)
这就是我现在拥有的:
g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/7.3.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ./configure --disable-multilib --enable-languages=c,c++
Thread model: posix
gcc version 7.3.0 (GCC)
这是我的编译/链接标志:
g++ echo.cpp src/*.cpp -Wall -O0 -g -std=c++14 -I/home/vagrant/libuv/include -Isrc -L/home/vagrant/libuv/build -lssl -lcrypto -Wl,--no-as-needed -Bstatic -luv_a -ldl -lpthread
这些是搜索后我的 STDC 文件:
/usr/lib/gcc/x86_64-redhat-linux/4.8.2/32/libstdc++.so
/usr/lib/gcc/x86_64-redhat-linux/4.8.2/libstdc++.so
/usr/local/lib64/libstdc++.so
/home/vagrant/gcc-7.3.0/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so
/home/vagrant/gcc-7.3.0/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so
/home/vagrant/gcc-7.3.0/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so
您动态链接了C++标准库,然后将其替换为其他版本。
现在安装在计算机上的版本与程序所需的版本不兼容,因此无法运行。
重新生成项目,使其链接到较新版本,或降级 GCC。
将来,您可能希望考虑静态链接标准库,以便此特定版本仅与可执行文件捆绑在一起。但这有缺点(你可以研究(。
相关文章:
- std::map<struct,struct>::find 找不到匹配项,但是如果我循环通过 begin() 到 end(),我在那里看到匹配项
- FindPackageHandleStandardArgs.cmake:137 的 CMake 错误(消息):找不到 Boost (缺少:正则表达式)(找到合适的版本"1.72.0",
- find_package(OpenSSL)找不到特定的libssl版本
- g++ libstdc++.so.6:从 4.8.5 升级到 GCC 版本 7.3.0 后找不到版本 'CXXABI_1.3.9'
- 找不到提升(缺少:unit_test_framework)(找到版本 "1.71.0")
- Anaconda ImportError: /usr/lib64/libstdc++.so.6: 找不到版本 'GLIBCXX_3.4.21'
- libstdc++.so 在使用 Patchelf 和备用 glibc 版本时找不到
- 无法在Windows上使用CMake链接到Lua 5.3.4:找不到Lua(缺少:LUA_LIBRARIES)(找到版本"5.3.4")
- 找不到旧版本Microsoft模块文件
- ld.so.1:protoc:fatal:libstdc++.so.6:在 Solaris 11 中找不到版本"GLIBCXX_3.4.20"
- 找不到 StrSafe 函数 (StringCbPrintf_lW) 的区域设置感知版本
- CodeBlocks MinGW版本找不到文件,必须手动包含在链接器中
- 如何解析 /usr/lib64/libstdc++.so.6:在我的 CGAL cmake 项目中找不到版本 'GLIBCXX_3.4.15'?
- Netbeans 8.1(适用于 C/C++)找不到我的编译器(gcc-6.0.0 开发版本)
- /usr/bin/ld:只有在库版本很少时才找不到(我认为)
- CMake:找不到提升 1_60_0(找不到版本.hp)
- 将qt版本从5.1.1转换为5.3时,找不到.sys文件
- Qt iOS版本找不到路径为的标头
- 特拉维斯:CMake 似乎松散(找不到)编译器版本
- C : /lib64/libc.so.6:找不到版本"GLIBC_2.11"(C 需要)