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

Arm 简单hello程序的交叉编译问题,arm,cross-compiling,embedded-linux,Arm,Cross Compiling,Embedded Linux,背景:尝试为arm目标(TQ2440/Mini2440)设置交叉编译器环境 在运行Red Hat的主机上: 写了一个简单的hello程序 gcc-o hello.c 编译成功 /hello 显示hello world消息 rm hello armlinux gcc-o hello.c 文件hello 上面说是为ARM兼容Linux 2.0.0编译的32位 将“hello”二进制文件传输到目标 chmoda+x你好 /hello 问题是: /bin/sh: ./hello: not found

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

在运行Red Hat的主机上:

  • 写了一个简单的hello程序
  • gcc-o hello.c
  • 编译成功
  • /hello
  • 显示hello world消息
  • rm hello
  • armlinux gcc-o hello.c
  • 文件hello
  • 上面说是为ARM兼容Linux 2.0.0编译的
    32位
  • 将“hello”二进制文件传输到目标

  • chmoda+x你好
  • /hello
  • 问题是:

    /bin/sh: ./hello: not found
    
  • 有人能指出我的错误或我在这里遗漏了什么吗


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

    /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)
    

    尝试运行
    ldd hello
    ,查看它是否抱怨缺少任何动态库。

    已解决


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

    Thanx回复Graham。我在主机上执行了ldd:ldd hello----我得到了/usr/local/arm/3.3.2/bin/ldd:line 1:/usr/local/arm/3.3.2/lib/ld linux.so.2:无法执行二进制文件/usr/local/arm/arm/3.3.2/lib/ld linux.so.2:无法执行二进制文件ldd:/usr/local/arm/3.3.3.2/lib/ld-linux.so.2退出时,退出代码未知(126),请在答案足够大时接受自己的答案。