/lib/libstdc++.so.6:没有可用的版本信息
/lib/libstdc++.so.6: no version information available
我正在运行使用Buildroot配置的最小Linux。一切正常,直到我在目标上运行我的一个交叉构建应用程序,产生以下错误:
/lib/libstdc++.so.6: no version information available
TARGET Machine
上的strings /lib/libstdc++.so.6 | grep GLIBCXX
输出为:
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
BUILD Machine
上相同命令的输出为:
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_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_3.4.24
GLIBCXX_3.4.25
GLIBCXX_DEBUG_MESSAGE_LENGTH
似乎当存在 glibcxx 版本不匹配时会出现此错误。 然后我尝试在buildroot中检查BR2_INSTALL_LIBSTDCPP
选项,但我们无法更改/更新glibcxx版本。
如何解决此问题?
听起来很像您的构建环境设置错误。
如果您使用 Buildroot 构建目标,那么您也必须使用相同的工具链和环境构建您的应用程序。两个选项:
- 从(构建根)树构建应用程序
- 在 Buildroot 中将您的应用程序构建为包
请参考 Buildroot 文档和这个精彩的演示文稿 (PDF)。特别是第27页和第34页。
一种特殊情况是,如果您正在处理供应商 SDK 和工具链。然后,您需要将供应商工具链集成到Buildroot中,这非常简单且有文档可查。无论如何,结果必须是您对两者使用相同的工具链和标头。
- 正在查找文档以获得PS4平台的C++中的设备信息
- 为cl.exe(Visual Studio代码)指定命令行C++版本
- 为什么在运行时没有向我们提供有关分段错误的更多信息?
- 导入库可以跨dll版本工作吗
- 奇怪的(对我来说)返回声明 - 在谷歌上找不到任何关于它的信息
- 在调用FreeLibrary后,释放动态链接到具有相同版本的CRT堆的DLL的内存
- 如何设置一个范围来提取我想要获得的信息
- /lib/libstdc++.so.6:没有可用的版本信息
- 如何将 git 版本信息添加到 cython 构建的 .so 文件中?
- Qt 和 Windows 可执行版本信息
- 版本信息表 通过更新资源更改 pe 文件
- 无法读取代码页不匹配的文件版本信息
- 可视化设置多个C++DLL的版本信息
- 在C++中设置产品ID版本、公司和其他应用程序信息
- 使用makefile生成版本信息
- 编译Qt-base: error: libQt5Core.so.5:无版本信息
- 共享库:无版本信息
- 替换版本信息资源
- 将版本信息放入环境变量中以包含第三方库的路径是否合适?
- 如何在链接存档文件时将库版本信息添加到elf文件中,所有存档文件都有其版本信息