本人用的是Ubuntu18.04 LTS 64位系统。只要是linux系统,安装步骤都差不多,按以下步骤安装即可。
1、首先创建交叉编译器的存放目录sudo mkdir /usr/local/arm。
2、到网上下载arm-linux-gcc-4.3.2.tar.gz安装包放到/usr/local/arm,任何版本都一样。
3、解压文件
tar-zxvf arm-linux-gcc-4.3.2.tar.gz -C /(-C会让解压的文件自动放在根目录下指定路径)
确保解压后的4.3.2目录放到/usr/local/arm/目录下。
4、添加环境变量
方法一:修改/etc/bash.bashrc文件(此文件只对当前用户适用)
sudo gedit /etc/bash.bashrc
在最后加上 export PATH=$PATH:/usr/local/arm/4.3.2/bin (路径)(注意等号那边不要有空格)
方法二:修改/etc/profile文件(此文件属于系统级别的环境变量,设置在里面的东西对所有用户适用)
sudo gedit /etc/profile
增加路径设置,在末尾添加如下:
export PATH=$PATH:/usr/local/arm/4.4.3/bin
5、让环境变量立即生效对应方法
方法一:source /root/.bashrc
或者
./etc/bash.bashrc
方法二:source /etc/profile
方法三:立即生效
6、检查环境变量是否加入到PATH中
echo $PATH
显示内容/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.4.3/bin
说明已经将交叉编译器的路径加入PATH。至此,交叉编译环境安装完成。
7、测试是否安装成功
arm-linux-gcc -v
若输入版本号,则表示安装成功。
8、可能出现的问题
若系统是32位,则按照以上步骤即可完成。
若是64位系统,可能会出现以下情况:
echo $PATH
输出/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/arm/4.3.2/bin
但是当输入arm-linux-gcc -v 时,出现/usr/local/arm/4.3.2/bin/arm-linux-gcc: line 3: /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-gcc: No such file or directory。
这是因为64位的系统缺少32位的库导致的。
解决办法:
sudo apt-get update
sudo apt-get install lib32z1
这样就可以进行交叉编译了。