确定 libstdc++ 的版本
Identify the version of libstdc++
>我在libstdc++
中遇到了错误 58800,这导致我的一些代码出现段错误。我有一个解决方法,但是当libstdc++
的固定版本可用时,我不想使用它。检查libstdc++
版本(通过ifdef
)的正确方法是什么?而且,理想情况下,哪些版本会受到此错误的影响?
libstdc++自带GCC,所以正确的方法是检查GCC版本,通过测试其__GNUC__
、__GNUC_MINOR__
和__GNUC_PATCHLEVEL__
预定义的宏。
如果您将libstdc++与Clang一起使用,则可以测试__GLIBCXX__ > 20131020UL
错误修复的日期。该日期之后的版本应包含修补程序。
您可以使用
__GLIBCXX__
宏检查libstdc++
的版本信息。 (ABI 策略附录的第 7 节中有一个值列表。
该错误以已修复的版本列表结束,但弄清楚何时引入错误可能会更棘手。如果您使用的是autoconf
,我建议您编写一个测试,如果存在错误,该测试就会崩溃。
相关文章:
- 在运行时读取 libstdc++ 版本
- g++ libstdc++.so.6:从 4.8.5 升级到 GCC 版本 7.3.0 后找不到版本 'CXXABI_1.3.9'
- /lib/libstdc++.so.6:没有可用的版本信息
- Anaconda ImportError: /usr/lib64/libstdc++.so.6: 找不到版本 'GLIBCXX_3.4.21'
- libstdc++.so 在使用 Patchelf 和备用 glibc 版本时找不到
- 在CentOS 7上安装GCC 7.4.0不会更新我的LIBSTDC 版本
- 如何手动设置'libstdc++.so.6'使用哪个版本而不是使用最新版本?
- 新版本的 g++ 与旧版本的 libstdc++
- ld.so.1:protoc:fatal:libstdc++.so.6:在 Solaris 11 中找不到版本"GLIBCXX_3.4.20"
- GLIBCXX(libstdc++.so.6)与gcc版本之间的关系
- 在同一系统上有多个GCC的情况下,使用哪个版本的libstdc++.so
- 如何测试libstdc++的版本
- 如何在使用旧版本gcc的系统上动态链接到libc.so.6、libstdc++.so.6的本地副本
- 确定 libstdc++ 的版本
- 每个libstdc++版本的`__GLIBCXX__`值
- 两个使用不同libstdc++版本的静态库
- /usr/lib/x86_64-linux-gnu/libstdc++.so.6:未找到版本 CXXABI_1.3.8'
- 如何解析 /usr/lib64/libstdc++.so.6:在我的 CGAL cmake 项目中找不到版本 'GLIBCXX_3.4.15'?
- 混合libstdc++版本
- 如何修复:/usr/lib/libstdc++.so.6:未找到版本"GLIBCXX_3.4.15"