arm debian5交叉编译问题
开发用机:debian 5目标系统:arm debian5(arm debian5是用QEMU虚拟安装的Linux系统)
交叉编译环境:crosstool-0.43.tar.gz, arm-linux-gcc 4.10
如果用 arm-linux-gcc -o hello hello.c
编译出来的文件:
#file hello
hello: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.8, not stripped
到目标系统里面运行失败。
如果用 arm-linux-gcc -o hello hello.c -static
编译出来的文件:
#file hello
hello: ELF 32-bit LSB executable, ARM, version 1, statically linked, for GNU/Linux 2.4.18, not stripped
#./hello
到目标系统里面运行,显示 helloword!
不知道是交叉编译环境问题还是其他问题。 动态库的问题。如果你的交叉工具链使用目标机的动态库,就可以了。 如何使用目标机器的动态库?是交叉编译链的问题吗? 静态的不好使么? 是因为这样的,你的cross toolchain的libc跟你的目标ARM板子的libc可能不一样。 动态库的问题,如果资源足够,那么你就考虑用静态来解决这个问题算了,解决快一点. 回复 4# EricFisher
因为要做USB驱动相关开发,要生成动态链接库so文件,还没有试过静态编译工程。先用hello试的。 回复 6# cjaizss
资源足够?什么意思? 回复cjaizss
资源足够?什么意思?
linuxdebian 发表于 2010-09-17 16:05 http://linux.chinaunix.net/bbs/images/common/back.gif
比如你的flash足够大
页:
[1]