我对交叉编译很陌生,我不确定通过交叉编译创建的可执行文件是否正确。
基本上我正在研究需要从不同工具链编译库的项目。
所以我使用arm工具链在ubuntu系统上编译了一个库,并且该库编译成功。但是现在在 ubuntu 上,当我尝试在其 arm 可执行文件上执行 ldd 时,它显示一条消息“不是动态可执行文件”。
然而,从另一个 qnap x86_64 工具链编译的同一个库在其可执行文件上执行 ldd 时工作正常。我的意思是它显示了 ldd 预期的正确依赖关系。
现在我很困惑哪一个是预期的行为。显示来自 ldd 的依赖项或显示“不是动态可执行文件”的那个。
有人可以向我澄清这个概念吗?
谢谢