安装步骤
1、准备工具安装目录
将压缩包arm-linux-gcc-3.4.1.tar.bz2存放在一个目录下,这个目录就是你等会解压缩的目录,以后这个目录就不能随便删掉了。
root@ubuntu:/#tar -xzvf /mnt/hgfs/ShareFile/arm-linux-gcc-3.4.1.tar.bz2 -C /
解压过程需要一段时间,解压后的文件形成了 /usr/local/arm/,现在交叉编译程序集都在/usr/local/arm/3.4.1/bin下面了
2、配置系统环境变量
修改环境变量,把交叉编译器的路径加入到PATH。(有三种方法,强烈推荐使用方法一)
方法一:修改/etc/bash.bashrc文件
#vim/etc/bash.bashrc
在最后加上:export PATH=$PATH:/usr/local/arm/3.4.1/bin
exportPATH
方法二:修改/etc/profile文件:
#vim /etc/profile
增加路径设置,在末尾添加如下,保存/etc/profil文件:exportPATH=$PATH:/usr/local/arm/3.4.1/bin
3. 立即使新的环境变量生效,不用重启电脑:
对应方法一:#source /root/.bashrc
对应方法二:# source /etc/profile
4. 检查是否将路径加入到PATH:
#echo $PATH
显示的内容中有/usr/local/arm/bin,说明已经将交叉编译器的路径加入PATH。
5. 检查环境变量是否设置成功:
在终端上输入命令arm-linux-,再按Tab,可以看到arm-linux-gcc ,说明设置成功。
root@ubuntu:/home/grubly#arm-linux-
arm-linux-addr2line arm-linux-gcc arm-linux-objdump
6、安装32位库兼容包
root@ubuntu:/home/grubly# arm-linux-gcc -v
bash: /usr/local/arm/3.4.1/bin/arm-linux-gcc: No such file or directory
说是出现这种问题的原因是由于Ubuntu16.04用的是64位的,按以前的解决方法就是使用命令:sudo apt-get install ia32-libs 装一些32位的库
root@ubuntu:/home/grubly# sudo apt-getinstall
ia32-libsE: Could not get lock /var/lib/dpkg/lock- open (11: Resource temporarily unavailable)
E: Unable to lock the administrationdirectory (/var/lib/dpkg/), is another process using it?
出现上述界面是因为Ubuntu16.04版本已不支持ia32-libs的软件包,而是使用了lib32ncurses5、lib32z1软件包做为替代,所以在Ubuntu16.04版本当中应该安装执行:
root@ubuntu:/home/grubly# sudo apt-getinstall ia32-libs
apt-get install lib32stdc++6 编译在用cmake-gui生成makefile文件时,提示出错解决方案
待安装完32位的库之后,再使用命令:arm-linux-gcc -v,这一次就成功了,如下图
root@ubuntu:/home/grubly# arm-linux-gcc -v
Reading specs from/usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/specs
Configured with:/work/crosstool-0.27/build/arm-linux/gcc-3.4.1-glibc-2.3.2/gcc-3.4.1/configure--target=arm-linux --host=i686-host_pc-linux-gnu --prefix=/usr/local/arm/3.4.1--with-headers=/usr/local/arm/3.4.1/arm-linux/include--with-local-prefix=/usr/local/arm/3.4.1/arm-linux --disable-nls--enable-threads=posix --enable-symvers=gnu --enable-__cxa_atexit--enable-languages=c,c++ --enable-shared --enable-c99 --enable-long-long
Thread model: posix
gcc version 3.4.1