ubuntu下安装arm-linux-gcc交叉编译链

2023-05-16

你好!这里是风筝的博客,

欢迎和我一起交流。


交叉编译链下载地址:
ftp://ftp.gnu.org/gnu/gcc
或者在arm官网下载:
https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads

最新工具链官网下载:

https://releases.linaro.org/components/toolchain/binaries/latest-7/arm-linux-gnueabihf/

以安装arm-linux-gcc-4.3.2为例

ubuntu16.04(64位系统)

因为Ubuntu用的是64位的,安装gcc工具链需要一些32位的库支持

如果不装,arm-linux-gcc -v时,会提示:

/usr/local/arm/4.3.2/bin/arm-linux-gcc: 15: 
exec: /usr/local/arm/4.3.2/bin/.arm-none-linux-gnueabi-gcc: not found

ubuntu具体的库可以自行百度下
例如我是ubuntu16.04,是安装如下两个库
sudo apt-get install lib32ncurses5
sudo apt-get install lib32z1

打开ubuntu终端命令

sudo tar xjf arm-linux-gcc-4.3.2.tar.bz2 -C /

注意:C后面有个空格,并且C是大写的,它是英文单词“Change”的第一个字母,在此是改变目录的意思。执行该命令,将把arm-linux-gcc 安装到/目录.

解压工具链,解压到根目录下,好像压缩包被指定了解压路径,这直接给我解压到/usr/local/arm/目录下了

其实也是解压到/usr/local/arm/目录下好
cd /usr/local/arm/4.3.2/bin/
echo $PATH
这时会出现:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/work/tools/gcc-3.4.5-glibc-2.3.6/bin
上面这些就是环境变量。

接着输入:
export PATH=/usr/local/arm/4.3.2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
就可以了

我们可以输入:

arm-linux-gcc -v

来查看版本,就发现gcc的版本已经变成了4.3.2版本,但是重启就无效了


如果你不想每次都手动修改的话,添加环境变量即可:

方法一:修改/etc/bash.bashrc文件(此文件只对当前用户适用)
sudo vi /etc/bash.bashrc
在最后加上 export PATH=$PATH:/work/local/arm/4.3.2/bin  (路径)(注意等号那边不要有空格)

方法二:修改/etc/profile文件(此文件属于系统级别的环境变量,设置在里面的东西对所有用户适用)
sudo vi /etc/profile
增加路径设置,在末尾添加如下:
export PATH=$PATH:/usr/local/arm/4.3.2/bin

方法三:修改/etc/environment文件

sudo vi /etc/environment

原内容应为
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
修改里面的内容为:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.3.2/bin"


任选方法,重启虚拟机即可


arm-linux-gcc -v
也会发现gcc的版本已经变成了4.3.2版本

ps:最好也把libstdc++库安装上:

sudo apt-get install lib32stdc++6

否则编译时可能会报错:

while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ubuntu下安装arm-linux-gcc交叉编译链 的相关文章

随机推荐