- 积分
- 368
贡献137
飞刀6 FD
注册时间2010-5-27
在线时间304 小时
|
发表于 2011-11-18 08:51:56
|
显示全部楼层
回复 1# fanfan1308
两种可能:
1, 根文件系统的动态库(从交叉编译器里拷贝的)跟你新的交叉编译器不一致,导致系统库不能加载。因为arm-linux-gcc hello.c -o hello2默认是动态编译的(使用的是动态库)。如果是这样的话,你可以使用命令arm-linux-gcc -static hello.c -o hello2编译,再放上去运行试试。或者更新根文件系统里的动态库,使用新的交叉编译器的动态库;
2, Linux内核make menuconfig时使用了EABI的特性,并没有支持OABI,而新的交叉编译器并不支持EABI的特性,这样也可能导致应用程序不能运行:
Use the ARM EABI to compile the kernel
[ ] Allow old ABI binaries to run with this kernel (EXPERIMENTAL) |
|