我正在运行使用Buildroot配置的极简Linux。一切正常,直到我在目标设备上运行我的交叉编译应用程序时出现以下错误:
在
而在
看起来当glibcxx版本不匹配时会出现此错误。然后我尝试检查buildroot中的
如何解决这个问题?
/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_DEBUG_MESSAGE_LENGTH
。看起来当glibcxx版本不匹配时会出现此错误。然后我尝试检查buildroot中的
BR2_INSTALL_LIBSTDCPP
选项,但我们无法更改/更新glibcxx版本。如何解决这个问题?
--sysroot
选项?(https://gcc.gnu.org/onlinedocs/gcc/Directory-Options.html)。你可以使用`buildroot/output/host/xyz/sysroot`来实现。 - Toto