ubuntu18.04.1降级交叉编译器 arm-linux-gcc-4.4.3

搬运自https://blog.csdn.net/qq_42955378/article/details/86677514

因为新公司所用的qt版本为4.8.5,其交叉编译器要gcc4,所以有下边这一篇。

1、下载交叉编译软件压缩包
链接: https://pan.baidu.com/s/1ut0PuwTpC8wa2U30E7pqzg 提取码: mgb7

2、选择一个地址进行解压
解压到/usr/local/arm/中

sudo tar -vxf gcc-4.4.3

安装完成!!

3、设置环境变量(用来快速使用交叉编译器)
共有三种方法:
Ⅰ、全局:所有用户都可使用
Ⅱ、用户:仅当前登录用户可使用
Ⅲ、临时:仅在此终端有效,新打开一个终端无效(此处不写出来,自行百度)

Ⅰ、修改全局环境配置
修改此处,所有用户均可使用该交叉编译器

打开/etc/profile 系统全局配置文件

在文件末尾处添加:

export PATH=$PATH:***gcc-4.4.3/bin

 

保存后执行profile文件

. /etc/profile      //点+空格+文件名

Ⅱ、修改用户配置
修改此处,所作更改只对当前用户有用,即只有当前用户可以直接用 arm-none-linux-gnueabi-gcc hello.c -o hello
命令来编译hello.c文件
打开终端,输入:

wss@Ubuntu:~$ vim ~/.bashrc
或
wss@Ubuntu:~$ vim ~/.bash_profile

在文件末尾处添加

export PATH=$PATH:***gcc-4.4.3/bin/

保存并运行

. .bashrc  //点+空格+文件名
或
. .bash_profile//点+空格+文件名

4、验证
如果书写正确,打开终端输入:

wss@Ubuntu:~$  arm-none-linux-gnueabi-

然后按下TAB键,可以看到很多以arm-none-linux-gnueabi-开头的命令。如下:

wss@Ubuntu:~# arm-none-linux-gnueabi-
arm-none-linux-gnueabi-addr2line     arm-none-linux-gnueabi-gcov
arm-none-linux-gnueabi-ar            arm-none-linux-gnueabi-gprof
arm-none-linux-gnueabi-as            arm-none-linux-gnueabi-ld
arm-none-linux-gnueabi-c++           arm-none-linux-gnueabi-nm
arm-none-linux-gnueabi-cc            arm-none-linux-gnueabi-objcopy
arm-none-linux-gnueabi-c++filt       arm-none-linux-gnueabi-objdump
arm-none-linux-gnueabi-cpp           arm-none-linux-gnueabi-populate
arm-none-linux-gnueabi-ct-ng.config  arm-none-linux-gnueabi-ranlib
arm-none-linux-gnueabi-g++           arm-none-linux-gnueabi-readelf
arm-none-linux-gnueabi-gcc           arm-none-linux-gnueabi-size
arm-none-linux-gnueabi-gcc-4.4.3     arm-none-linux-gnueabi-strings
arm-none-linux-gnueabi-gccbug        arm-none-linux-gnueabi-strip

5、验证是否安装成功

执行:
wss@Ubuntu:~$  arm-none-linux-gnueabi-gcc

成功:

得到:
.arm-none-linux-gnueabi-gcc: no input files

失败:

得到:
***gcc-4.4.3/bin/.arm-none-linux-gnueabi-gcc: not found

解决办法:

注意:arm-linux-gcc-4.4.3.tar.gz 是32 bit ,如果 系统是Ubuntu32 bit,那么就可以看到已经成功了,会显示arm-linux-gcc 的版本信息。但如果Ubuntu 64 bit,就会显示错误:

***gcc-4.4.3/bin/arm-none-linux-gnueabi-gcc:
15: exec:
***gcc-4.4.3/bin/.arm-none-linux-gnueabi-gcc:
not found

这是因为64 bit的Ubuntu系统缺少32 bit的库,需要安装。Ubuntu12.04 64 bit以后的版本就没有32位的库。

执行:
sudo apt-get install libc6:i386 
apt-get install lib32ncurses5
apt-get install lib32z1

然后再重复步骤5,就能看到结果了!!!
7、重启
最好在此处进行一次重启

wss@Ubuntu:~$ reboot

如果重启之后输入

wss@Ubuntu:~$ arm-linux-gcc -v

没有版本信息,而是提示
“没有该命令”
则重复一下步骤3

 
原文地址:https://www.cnblogs.com/Rainingday/p/13562708.html