arm交叉编译可执行行为

arm交叉编译可执行行为,arm,cross-compiling,qnap,Arm,Cross Compiling,Qnap,我对交叉编译非常陌生,我不确定通过交叉编译创建的可执行文件是否正确 基本上,我正在从事一个项目,该项目需要从不同的工具链编译libs 因此,我使用arm工具链在ubuntu系统上编译了一个库,该库编译成功。但现在在ubuntu上,当我尝试在它的arm可执行文件上执行ldd时,它会显示一条消息“不是动态可执行文件” 然而,这个库是从另一个qnap x86_64工具链编译而成的,它可以很好地对其可执行文件执行ldd。我的意思是,它显示了ldd预期的适当依赖性 现在我不知道哪一个是预期的行为。显示与l

我对交叉编译非常陌生,我不确定通过交叉编译创建的可执行文件是否正确

基本上,我正在从事一个项目,该项目需要从不同的工具链编译libs

因此,我使用arm工具链在ubuntu系统上编译了一个库,该库编译成功。但现在在ubuntu上,当我尝试在它的arm可执行文件上执行ldd时,它会显示一条消息“不是动态可执行文件”

然而,这个库是从另一个qnap x86_64工具链编译而成的,它可以很好地对其可执行文件执行ldd。我的意思是,它显示了ldd预期的适当依赖性

现在我不知道哪一个是预期的行为。显示与ldd的依赖关系的文件或显示“非动态可执行文件”的文件

有人能给我澄清一下这个概念吗


谢谢

您的手臂工具链是否包含自己的“ldd”命令?一般来说,要使用交叉编译程序执行任何操作,都必须使用适当的工具链,而不是本机工具。如果没有“ldd”,请尝试使用“objdump”。Idd存在于工具链中。但这个ldd也会将消息显示为非动态可执行文件。这些有帮助吗@多曼:谢谢。。此链接提供信息。然而,我的问题是确认哪种行为是正确的。当主机ldd显示目标可执行文件的依赖项时,或当主机ldd显示目标可执行文件的“非可执行”消息时?ARM工具链是否包含自己的“ldd”命令?一般来说,要使用交叉编译程序执行任何操作,都必须使用适当的工具链,而不是本机工具。如果没有“ldd”,请尝试使用“objdump”。Idd存在于工具链中。但这个ldd也会将消息显示为非动态可执行文件。这些有帮助吗@多曼:谢谢。。此链接提供信息。然而,我的问题是确认哪种行为是正确的。当主机ldd显示目标可执行文件的依赖项时,或当主机ldd显示目标可执行文件的“非可执行文件”消息时?