Easy Code
(笔记)Ubuntu下安装arm-linux-gcc-4.4.3.tar.gz (交叉编译环境)
参考了前人的成果,结合自己实践,arm-linux-gcc-4.4.3.tar.gz的下载地址为:
http://ishare.iask.sina.com.cn/f/13836544.html?from=like
本人所用系统是Ubuntu12.04,但只要是Ubuntu应该都可以安照此步骤安装。
1.解压文件
解压 tar zxvf arm-linux-gcc-4.4.3.tar.gz -C/(
直接解压后就可以,-C/会让解压的文件自动放在根目录下指定路径,不用管)
下载arm-linux-gcc-4.4.3.tgz到任意的目录下,进入这个文件夹
sudo tar xvzf arm-linux-gcc-4.4.3.tgz –C /
注意:C后面有个空格(不需要),并且C是大写的(必须),它是英文单词“Change”的第一个字母,在此是改变目录的意思。执行该命令,将把arm-linux-gcc 安装到/opt/Friendlyarm/toolschain/4.4.3 目录。
2.建立目录
sudo mkdir /usr/local/arm
3.复制文件
sudo cp -r /opt/FriendlyARM/toolschain/4.4.3 /usr/local/arm
5.添加环境变量
网上很多修改环境变量的方法,很杂。有 redhat上面的,fedora。下面一共三种方法,有人都在UBUNTU11.10上试过,可行。(本人只用了第一种方法做过,其他的没有试过)
方法一:修改/etc/bash.bashrc文件(此文件只对当前用户适用)
sudo gedit /etc/bash.bashrc
在最后加上 export PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin (路径)(注意等号那边不要有空格)
方法二:修改/etc/profile文件(此文件属于系统级别的环境变量,设置在里面的东戚蚂核西对所有用户适用)
sudo gedit /etc/profile
增加路径设置,在末尾添加如下:
export PATH=$PATH:/usr/local/arm/4.4.3/bin
方法三:修改/etc/environment文件
sudo gedit /etc/environment
原文件应为
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games“
将其改为
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.4.3/bin"
关于环境变量问题:
环境变量是什么?例如path,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。
如果上面不高掘加入环境变量,要运行arm-linux-gcc这个程序,则每次都要把arm-linux-gcc的完整路径写出来。/usr/local/arm/4.4.3/binarm-linux-gcc 文件名 -o 输出文件名
这样非常的麻烦,所以加到path里面,让电脑知道这个程序在哪里。
6.注册环境变量(此步未做,步骤8同样显示安装成功)
立即使新的环境变量生效,不用重启电脑,对应步骤5也有3种方法
方法一:source /root/.bashrc
或者
./etc/bash.bashrc
方法二:source /etc/profile
方法物历三:立即生效
7.检查是否将路径加入到PATH(此步未做,步骤8同样显示安装成功)
echo $PATH
显
示内容/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr
/games:/usr/local/arm/4.4.3/bin说明已经将交叉编译器的路径加入PATH。至此,交叉编译环境安装完成。
8.测试是否安装成功
方法一:另开一个终端,输入arm-,然后按两下Tab,如果出现下列信息,则表明安装成功
arm2hpdlarm-linux-gprof
arm-elf-addr2line arm-linux-ld
arm-elf-ar arm-linux-nm
arm-elf-as arm-linux-objcopy
arm-elf-c++arm-linux-objdump
arm-elf-c++filt arm-linux-populate
arm-elf-elf2flt arm-linux-ranlib
arm-elf-flthdr arm-linux-readelf
arm-elf-g++ arm-linux-size
arm-elf-gcc arm-linux-strings
arm-elf-ldarm-linux-strip
arm-elf-ld.real arm-none-linux-gnueabi-addr2line
arm-elf-nm arm-none-linux-gnueabi-ar
arm-elf-objcopy arm-none-linux-gnueabi-as
arm-elf-objdump arm-none-linux-gnueabi-c++
arm-elf-protoize arm-none-linux-gnueabi-cc
arm-elf-ranlib arm-none-linux-gnueabi-c++filt
arm-elf-readelf arm-none-linux-gnueabi-cpp
arm-elf-size arm-none-linux-gnueabi-ct-ng.config
arm-elf-strings arm-none-linux-gnueabi-g++
arm-elf-striparm-none-linux-gnueabi-gcc
arm-elf-unprotoizearm-none-linux-gnueabi-gcc-4.4.3
arm-linux-addr2line arm-none-linux-gnueabi-gccbug
--More--
方法二:在终端里输入arm-linux-gcc-v,这个命令会显示arm-linux-gcc信息和版本,如果出现以下信息则表示安装成功
Using built-in specs.
Target: arm-none-linux-gnueabi
Configured
with:/opt/FriendlyARM/mini2440/build-toolschain/working/src/gcc-4.4.3/configure--build=i386-build_redhat-linux-gnu--host=i386-build_redhat-linux-gnu
--target=arm-none-linux-gnueabi--prefix=/opt/FriendlyARM/toolschain/4.4.3--with-sysroot=/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi//sys-root--enable-languages=c,c++
--disable-multilib --with-arch=armv4t--with-cpu=arm920t
--with-tune=arm920t --with-float=soft--with-pkgversion=ctng-1.6.1
--disable-sjlj-exceptions--enable-__cxa_atexit
--with-gmp=/opt/FriendlyARM/toolschain/4.4.3--with-mpfr=/opt/FriendlyARM/toolschain/4.4.3--with-ppl=/opt/FriendlyARM/toolschain/4.4.3--with-cloog=/opt/FriendlyARM/toolschain/4.4.3--with-mpc=/opt/FriendlyARM/toolschain/4.4.3--with-local-prefix=/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi//sys-root--disable-nls
--enable-threads=posix --enable-symvers=gnu--enable-c99
--enable-long-long --enable-target-optspace
Thread model: posix
gcc version 4.4.3 (ctng-1.6.1)
至此,安装已经全部完成!
1、首先以root用户登入2、复制arm-linux-gcc-4.3.2.tgz到根目录下tmp文件夹里
3、解压命令tar xvzf arm-linux-gcc-4.3.2 -C /
注意以上命令必须要皮卜有-C而且是大写,后边有个空格也要注意。
4、配置下编译环境路径 在控制台下输入 gedit /root/.bashrc 等一会出来文本编辑器后在文件最后(最后一行)加上下面镇碰代码。
export PATH=/usr/local/arm/4.3.2/bin:$PATH
保存关闭后,注销当前用户,用root账号重新登录系统(使刚刚添加的环境变量生效)。
此时可以在控制台输入: arm-linux-gcc -v 如果安装成功将会输出 arm-linux-gcc的版本号。
若想让它在非超级用户下使用那。首先,以非超级用户登入。
1、 输入命令:vi ~/.bashrc编辑.bashrc文件,在文件末尾加入如上面的内容
export PATH=/usr/local/arm/4.3.2/bin:$PATH
2、输入命令:gedit /etc/profile
在文件的末尾加上:PATH=/usr/local/arm/4.3.2/bin:$PATH
保存对profile的修改后,执行source /etc/profile就OK了,好了通样先注销当前用户再登录后进入控制台执行arm-linux-gcc -v 看看燃旅穗能否执行成功就可以了。
1、将压缩包arm-linux-gcc-4.4.3.tar.gz存放在一个目录下,这个目录就是你等会解压缩的目录,以后这个目录就不能随便删掉了,我的存放路径是 /home/song/software,如下图,记住这个路径,等会还会用到。
2、使用tar命令:tar zxvf arm-gcc-4.4.3.tar.gz将software文件夹下的arm-linux-gcc-4.4.3.tar.gz解压缩安装到当前目录下如下图
通过下图可以看到解压成功了,并且解压后的文件存放在了/home/song/software/opt/FriendlyARM/toolschain/4.4.3文件夹下,如下图所示,这个存放路径可得记住,如下图
3、接下来配置系统环境变量,把交叉编译工具链的蚂局路径添加到环境变量PATH中去,扮卖这样就可以在任何目录下使用这些工具。记下上一步中的安装路径,使用命令:vim /etc/profile 编辑profile文件,添加环境变量。
在profile中最后一行添加: export PATH=$PATH:/home/song/software/opt/FriendlyARM/toolschain/4.4.3/bin 这个路径就是那个bin目录所在的路径,可能你的不一样,按照你实际的目录填就可以了,如下图32行
编写完保存就好了
4、使用命令:source /etc/profile 使环境变量生效
5、在终端上输入命令 arm-linux 再按Tab键,可以显示出命令列表,说明环境变量设置成功了
6、使用闷缺让命令:arm-linux-gcc -v 会出现下面的错误提示:/home/song/software/opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux-gcc: 15: exec: /home/song/software/opt/FriendlyARM/toolschain/4.4.3/bin/.arm-none-linux-gnueabi-gcc: not found
说是出现这种问题的原因是由于Ubuntu12.04用的是64位的,解决方法就是使用命令:sudo apt-get install ia32-libs 装一些32位的库
7、待安装完32位的库之后,再使用命令:arm-linux-gcc -v,这一次就成功了
8、验证,编译一个hello.c文件
使用命令:arm-linux-gcc hello.c -o hello 看是否编译成功
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)