64位Ubuntu 16.04搭建嵌入式交叉编译环境arm-linux-gcc过程图解

 

安装步骤

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

你可能感兴趣的:(linux软件)