背景:尝试为arm目标设置交叉编译环境(TQ2440 / Mini2440)
在运行Red Hat的HOST上:
gcc -o hello hello.c
./hello
rm hello
arm-linux-gcc -o hello hello.c
file hello
32bit compiled for ARM compatible for Linux 2.0.0
将“hello”二进制文件传输到TARGET
chmod a+x hello
./hello
问题:
/bin/sh: ./hello: not found
任何人都可以指出我的错误或我在这里错过了什么?
我在主持人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)
答案 0 :(得分:3)
解决。
我是通过ftp传输文件的。您需要输入 bin 才能切换到二进制传输模式。现在工作正常。
答案 1 :(得分:1)
尝试运行ldd hello
并查看是否有人抱怨任何缺少的动态库。