我使用的是友善之臂的开发板,配套光盘资料,在光盘资料的 友善之臂tiny4412-A文件夹下的linux文件夹中有交叉编译工具:arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz。将这个工具包通过samba服务器拷贝到linux系统下。然后解压。
1.解压交叉编译工具链
tar -xzvf arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz
2.在/usr/local文件夹下创建arm文件夹
sudo mkdir /usr/local/arm
3.将解压后的工具链移动到刚创建的arm文件夹下
sudo mv /home/ywl/opt/FriendlyARM/toolschain/4.5.1 /usr/local/arm
4.修改环境变量
vim /etc/profile
新增arm-linux-gcc的路径。在打开的profile文件中添加 如下环境变量,保存退出
export PATH=$PATH:/usr/local/arm/4.5.1/bin
更新profile文件,使其马上生效
source /etc/profile
5.测试工具链是否安装成功
在ywl文件夹下新建a.c文件,并添加输出hello world的代码。
运行工具链
arm-linux-gcc a.c
提示错误:long@ubuntu:/home/ywl$ -bash: /usr/local/arm/4.5.1/bin/arm-linux-gcc: No such file or directory
解决办法:linux安装的是ubuntu1604版本,是64位系统,而交叉编译工具链是32位的,因此需要安装32位库
sudo apt-get install lib32ncurses5
安装完成重新运行编译命令
arm-linux-gcc a.c
提示错误:/usr/local/arm/4.5.1/bin/../lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/bin/as: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory
解决办法:
sudo apt-get install lib32z1
再重新运行 arm-linux-gcc a.c,编译成功