使用简单的hello程序交叉编译问题

时间:2011-09-26 10:57:54

标签: arm cross-compiling embedded-linux

背景:尝试为arm目标设置交叉编译环境(TQ2440 / Mini2440)

在运行Red Hat的HOST上:

  1. 写了一个简单的hello程序
  2. gcc -o hello hello.c
  3. 成功编译
  4. ./hello
  5. 显示问候世界消息
  6. rm hello
  7. arm-linux-gcc -o hello hello.c
  8. file hello
  9. 它说32bit compiled for ARM compatible for Linux 2.0.0
  10. 将“hello”二进制文件传输到TARGET

    1. chmod a+x hello
    2. ./hello
    3. 问题:

      /bin/sh: ./hello: not found
      
    4. 任何人都可以指出我的错误或我在这里错过了什么?


      我在主持人ldd hello上执行了ldd,我得到了:

      /usr/local/arm/3.3.2/bin/ldd: line 1:  
      /usr/local/arm/3.3.2/lib/ld-linux.so.2: cannot execute binary file 
      /usr/local/arm/3.3.2/bin/ldd: line 1: 
      /usr/local/arm/3.3.2/lib/ld-linux.so.2: cannot execute binary file 
      ldd: /usr/local/arm/3.3.2/lib/ld-linux.so.2 exited with unknown exit code (126)
      

2 个答案:

答案 0 :(得分:3)

解决。

我是通过ftp传输文件的。您需要输入 bin 才能切换到二进制传输模式。现在工作正常。

答案 1 :(得分:1)

尝试运行ldd hello并查看是否有人抱怨任何缺少的动态库。