【发布时间】:2019-10-22 02:25:06
【问题描述】:
我正在运行使用 Buildroot 配置的最小 linux。一切正常,直到我在目标上运行我的一个交叉构建应用程序并产生以下错误:
/lib/libstdc++.so.6: no version information available
strings /lib/libstdc++.so.6 | grep GLIBCXX 在TARGET Machine 上的输出是:
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 版本。
如何解决这个问题?
【问题讨论】:
-
也许尝试在目标机器上重新安装 libstdc++.so.6?
-
听起来您链接到主机的库。您是否查看了 gcc 的
--sysroot选项? (gcc.gnu.org/onlinedocs/gcc/Directory-Options.html)。你可以使用buildroot/output/host/xyz/sysroot。
标签: c++ glibc beagleboneblack buildroot