【发布时间】:2018-05-20 04:02:31
【问题描述】:
我尝试将我的 c++ 程序交叉编译为 armv5。只是通过交叉编译armv5,我遇到了以下错误: 未找到 GLIBC_2.17(libstdc++、libdbus、libsystemd 和 liblzma 需要) 我发现,我的目标平台上的 libc 当前版本是 15。
1) 有没有安全的更新方式?我在目标上没有 Internet 连接,只能通过 Telnet 连接。问题是,如果更新失败,我无法在设备上刷一个新的操作系统,而且我猜它坏了 99% ^^。
2) 如果对 (1) 表示“不,不是真的”,是否可以针对运行较新的 libc15 进行编译,或者有没有办法降级到 15? (创建一个用于编译的 VM,所以我不在乎是否有任何故障) 我必须指定什么才能针对另一个 libc 版本进行编译?,还没有找到合适的平面/参数...
感谢任何提示或想法,现在有一段时间了这个问题,我对 C++ 交叉编译太陌生了,找不到任何解决方案。 最好的问候,
【问题讨论】:
-
要么降级整个交叉编译链,要么将新的 libc 上传到平台而不在系统范围内安装它。使用 rpath 或 LD_LIBRARY_PATH 在运行时将可执行文件与新版本链接。
-
请不要在标题中添加已解决,而是接受您的答案,请参阅tour 了解更多信息。
标签: c++ arm cross-compiling glibc