C++ 为基于Arm的Pandes交叉编译设置EclipseIDE时出现的问题

C++ 为基于Arm的Pandes交叉编译设置EclipseIDE时出现的问题,c++,eclipse,arm,cross-compiling,pandaboard,C++,Eclipse,Arm,Cross Compiling,Pandaboard,我尝试设置用于编译C++代码的Eclipse IDE,它应该在基于ARM的PANDOABLAD ES设备上运行。 我的机器运行64位Fedora 20。我遵循这一点,在安装了32位版本的glibc glibc.i686之后,我能够构建hello world项目 我的问题是,当我将二进制文件复制到运行Debian Jessie 3.16.0-armv7-x3的Pandorn设备时,我无法执行它。没有这样的文件或目录 有人能给我一个提示吗 编辑: 这里是repos和交叉编译二进制文件的输出 Pand

我尝试设置用于编译C++代码的Eclipse IDE,它应该在基于ARM的PANDOABLAD ES设备上运行。 我的机器运行64位Fedora 20。我遵循这一点,在安装了32位版本的glibc glibc.i686之后,我能够构建hello world项目

我的问题是,当我将二进制文件复制到运行Debian Jessie 3.16.0-armv7-x3的Pandorn设备时,我无法执行它。没有这样的文件或目录

有人能给我一个提示吗

编辑:

这里是repos和交叉编译二进制文件的输出

PandaBoard3:~$ file /usr/bin/mc
  /usr/bin/mc: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=31c7410ced0a9b54f97a28e6cbabf97afd4ecee3, stripped

PandaBoard3:~$ file ./Pandaboard\ crosscompile 
 ./Pandaboard crosscompile: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, not stripped

我认为你有libc或ABI不匹配。只需在编译过的二进制文件上运行文件,并在您身上的某个工作二进制文件上运行,Jessie。你应该看到区别

Fedora不是Debian交叉编译软件的最佳发行版。基本上有两种可能性:

以Debian Jessie x86作为开发主机。这样,两个系统上的GCC、libc等都将相同。您可以阅读如何从Emdebian repo安装工具链。还可以看看xapt。它将允许您安装交叉编译的依赖项,如Qt、Boost等

从零开始使用一些发行版,如或。这样的发行版将同时考虑工具链和rootfs,因此始终是兼容的


这已经晚了很多年,可能还很初级,但是您是否检查了您试图运行的二进制文件的文件权限?运行ls-alv并检查文件是否为您的用户启用了执行权限。

哦,谢谢,您刚刚教了我一个新命令。:-但我看不出有什么不同,我以midnght commander binary为例Pandabord3:~$file/usr/bin/mc/usr/bin/mc:ELF 32位LSB共享对象,ARM,EABI5版本1 SYSV,动态链接使用共享libs,对于GNU/Linux 2.6.32,BuildID[sha1]=31C7410ced0A9B54F97A28E6CBABF97AFD4ece3,剥离的PandaBoard3:~$file./Pandaboard\crosscompile./Pandaboard交叉编译:ELF 32位LSB可执行文件,ARM,EABI5版本1 SYSV,动态链接使用共享libs,对于GNU/Linux 2.6.16,不是剥离的。至少内核头版本不同,我不知道文件显示的是硬件浮点还是软件浮点。我有一个Debian图像,就是armhf。ldd对/Panda说了什么?如果没有ldd,请尝试:LD_TRACE_LOADED_OBJECTS=1 ldd just prints,确保交叉编译的二进制文件没有DNymically链接。我认为听从你的建议会更明智。我非常感谢你的帮助。