Arm 简单hello程序的交叉编译问题
背景:尝试为arm目标(TQ2440/Mini2440)设置交叉编译器环境 在运行Red Hat的主机上: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
gcc-o hello.c
/hello
rm hello
armlinux gcc-o hello.c
文件hello
32位
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),请在答案足够大时接受自己的答案。