编译环境:VMware+ubuntu
交叉编译器:arm-linux-gcc-4.4.3
1.Ubuntu编写hello.c程序
#include <stdio.h>
int main(void)
{
printf("hello,world!\n");
return 0;
}
2.在Ubuntu上使用arm-linux-gcc编译:
arm-linux-gcc -o hello hello.c
此时在ubuntu上执行会提示:
3.通过串口或者U盘等方式将生成的hello可执行文件拷贝到ARM开发板上
运行hello可执行文件
./hello
运行结果:
出错原因:
因为程序使用的是动态链接方式编译的,而ARM上的链接库文件路径不同,导致找不到文件,可以用gcc -static命令改用静态链接的方式编译。
在Ubuntu上重新编译:
arm-linux-gcc -o hello hello.c -static
生成hello可执行文件,拷贝到ARM板,使用./hello执行
4.结果:
运行成功