Ubuntu-12.04.5-desktop-i386(32位)下安装arm-linux-gcc-4.4.3.tar.gz(32位) (交叉编译环境配置,同时要保证arm-linux-gcc-4.4.3.tar.gz有bin这个文件)
Ubuntu下安装arm-linux-gcc-4.4.3.tar.gz ,其过程如下:
下载arm-linux-gcc-4.4.3.tar.gz 到目录/home/gxj/arm下(这个目录根据自己的情况自行建立)。
1.解压文件
执行命令:`sudo tar -zxvf arm-linux-gcc-4.4.3.tar.gz
2.建立目录
执行命令:sudo mkdir /usr/local/arm
3.复制文件
执行命令:sudo cp -r /home/gxj/arm/gcc-4.4.3 /usr/local/arm
4.添加环境变量(下面vi或vim只用其中一种,我的不能使用vim,所以我使用的是vi)
添加环境变量以下一共有三种方法,分别介绍如下:
方法一:修改/etc/bash.bashrc文件(此文件只对当前用户适用)
执行命令:sudo (vi)vim /etc/bash.bashrc
在最后加上 export PATH=$PATH:/home/gxj/arm/gcc-4.4.3/bin (路径)(注意等号那边不要有空格)
方法二:修改/etc/profile文件(此文件属于系统级别的环境变量,设置在里面的东西对所有用户适用)(推荐使用)
执行命令:sudo (vi)vim /etc/profile
增加路径设置添加如下:
在done的下一行插入 export PATH=$PATH:/usr/local/arm/gcc-4.4.3/bin (路径)(注意等号那边不要有空格)
方法三:修改/etc/environment文件
执行命令:sudo (vi)vim /etc/environment
原文件应为 PATH="/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
将其改为PATH="/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/gcc-4.4.3/bin"
根据每个人电脑不一样,原路径有可能不一样,但修改后只是在原路径后面多了一个自己的路径(/usr/local/arm/gcc-4.4.3/bin)
关于环境变量问题:
环境变量是什么?例如path,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。
如果上面不加入环境变量,要运行arm-linux-gcc这个程序,则每次都要把arm-linux-gcc的完整路径写出来。/usr/local/arm/gcc-4.4.3/bin arm-linux-gcc 文件名 -o 输出文件名
这样非常的麻烦,所以加到path里面,让电脑知道这个程序在哪里。
5.注册环境变量
立即使新的环境变量生效,不用重启电脑,对应步骤5也有3种方法(上面三种方法对应的生效方法如下)
方法一:source /root/.bashrc
或者 ./etc/bash.bashrc
方法二:source /etc/profile
方法三:立即生效
6.检查是否将路径加入到PATH
执行命令:echo $PATH
显示为/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/gcc-4.4.3/bin则说明已经将交叉编译器的路径加入PATH。至此,交叉编译环境安装完成。
7.测试是否安装成功
方法一:另开一个终端,输入arm-
,然后按两下Tab,如果出现下列信息,则表明安装成功
arm-arm1176jzfssf-linux-gnueabi-addr2line
arm-arm1176jzfssf-linux-gnueabi-ar
arm-arm1176jzfssf-linux-gnueabi-as
arm-arm1176jzfssf-linux-gnueabi-c++
arm-arm1176jzfssf-linux-gnueabi-cc
arm-arm1176jzfssf-linux-gnueabi-c++filt
arm-arm1176jzfssf-linux-gnueabi-cpp
arm-arm1176jzfssf-linux-gnueabi-ct-ng.config
arm-arm1176jzfssf-linux-gnueabi-elfedit
arm-arm1176jzfssf-linux-gnueabi-g++
arm-arm1176jzfssf-linux-gnueabi-gcc
arm-arm1176jzfssf-linux-gnueabi-gcc-4.4.3
arm-arm1176jzfssf-linux-gnueabi-gcov
arm-arm1176jzfssf-linux-gnueabi-gprof
arm-arm1176jzfssf-linux-gnueabi-ld
arm-arm1176jzfssf-linux-gnueabi-ld.bfd
arm-arm1176jzfssf-linux-gnueabi-ldd
arm-arm1176jzfssf-linux-gnueabi-nm
arm-arm1176jzfssf-linux-gnueabi-objcopy
arm-arm1176jzfssf-linux-gnueabi-objdump
arm-arm1176jzfssf-linux-gnueabi-populate
arm-arm1176jzfssf-linux-gnueabi-ranlib
arm-arm1176jzfssf-linux-gnueabi-readelf
–More–
方法二:在终端里输入arm-linux-gcc -v
,这个命令会显示arm-linux-gcc信息和版本,如果出现以下信息则表示安装成功
Using built-in specs.
COLLECT_GCC=arm-linux-gcc
COLLECT_LTO_WRAPPER=/usr/local/arm/gcc-4.4.3/bin/…/libexec/gcc/arm-arm1176jzfssf-linux-gnueabi/4.4.3/lto-wrapper
Target: arm-arm1176jzfssf-linux-gnueabi
Configured with: /work/builddir/src/gcc-4.4.3/configure --build=i686-build_pc-linux-gnu --host=i686-build_pc-linux-gnu --target=arm-arm1176jzfssf-linux-gnueabi --prefix=/opt/TuxamitoSoftToolchains/arm-arm1176jzfssf-linux-gnueabi/gcc-4.4.3 --with-sysroot=/opt/TuxamitoSoftToolchains/arm-arm1176jzfssf-linux-gnueabi/gcc-4.4.3/arm-arm1176jzfssf-linux-gnueabi/sysroot --enable-languages=c,c++ --with-arch=armv6zk --with-cpu=arm1176jzf-s --with-tune=arm1176jzf-s --with-fpu=vfp --with-float=softfp --with-pkgversion=‘crosstool-NG hg+default-2685dfa9de14 - tc0002’ --disable-sjlj-exceptions --enable-__cxa_atexit --disable-libmudflap --disable-libgomp --disable-libssp --disable-libquadmath --disable-libquadmath-support --with-gmp=/work/builddir/arm-arm1176jzfssf-linux-gnueabi/buildtools --with-mpfr=/work/builddir/arm-arm1176jzfssf-linux-gnueabi/buildtools --with-mpc=/work/builddir/arm-arm1176jzfssf-linux-gnueabi/buildtools --with-ppl=/work/builddir/arm-arm1176jzfssf-linux-gnueabi/buildtools --with-cloog=/work/builddir/arm-arm1176jzfssf-linux-gnueabi/buildtools --with-libelf=/work/builddir/arm-arm1176jzfssf-linux-gnueabi/buildtools --with-host-libstdcxx=’-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm’ --enable-threads=posix --enable-target-optspace --without-long-double-128 --disable-nls --disable-multilib --with-local-prefix=/opt/TuxamitoSoftToolchains/arm-arm1176jzfssf-linux-gnueabi/gcc-4.4.3/arm-arm1176jzfssf-linux-gnueabi/sysroot --enable-c99 --enable-long-long
Thread model: posix
gcc version 4.4.3 (crosstool-NG hg+default-2685dfa9de14 - tc0002)
注意:如果执行命令:arm-linux-gcc -v
提示:没有那个文件或目录
但的确配置成功,并且可以找到安装的文件目录。
解决办法:
执行命令:sudo apt-get install lsb-core
安装完成之后,再执行arm-linux-gcc -v
输出正常