搬运自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