安装交叉编译链
1.交叉编译工具链的安装
步骤1:打开虚拟机,在/usr/local/下创建/usr/local/arm文件夹
步骤2:先将安装包从Windows中弄到linux中去。可以用共享文件夹,也可以用Samba,也可以cuteftp。
步骤3:解压。 (tar -jxvf arm-2009q3.tar.bz2)
到此相当于程序已经安装完毕,真正的应用程序安装在/usr/local/arm/arm-2009q3/bin目录下
注:譬如/bin目录放置一些系统自带的用户使用的应用程序,/sbin目录下存放的是系统自带的系统管理方面的应用程序。
一般都在/usr目录下。我们安装arm-linux-gcc,就在/usr/local/底下创建一个arm文件夹,然后装到里面。
2.安装后的测试
到真正的应用程序的安装目录下(也就是/usr/local/arm/arm-2009q3/bin),去执行arm-linux-gcc -v
执行方法是:./arm-none-linux-gnueabi-gcc -v
(-v用于测试软件的版本号)
执行后可以得到一长串输出,其中有“gcc version 4.4.1 ”字样,即表示安装成功。
3.自己动手安装交叉编译工具链2
3.1、环境变量的意义
环境变量就是操作系统的全局变量。每一个环境变量对操作系统来说都是唯一的。linux系统可以有很多个环境变量。其中有一部分是linux系统自带的,还有一些是我们自己来扩充的。我们这里涉及到的一个环境变量是
PATH。PATH这个环境变量是系统自带的,它的含义就是系统在查找可执行程序时会搜索的路径范围。
3.2、将工具链导出到环境变量
cd ~
ls -a
即可找到.bashrc然后用vi进入里面,在末行添加 export PATH=/usr/local/arm/x210/bin:$PATH(此路径是自己规定的)
可用echo $PATH检查是否成功,若显示的是你规定的路径则表示成功。
3.3、为工具链创建arm-linux-xxx符号链接
创建一个脚本文件xx.sh然后拷贝至linux下,source chmod a+x xx进行执行
脚本编辑如下
ln 源文件名 -s 快捷方式文件名
安装配置好环境变量之后运行arm-linux-gcc -v出错
#/opt/FriendlyARM/toolschain/4.5.1/bin/arm-linux-gcc -v
bash: /opt/FriendlyARM/toolschain/4.5.1/bin/arm-linux-gcc: 没有那个文件或目录
解决方案:
执行
sudo apt-get install lsb-core
安装完成之后,再执行arm-linux-gcc -v,输出正常
安装配置好环境变量之后运行arm-linux-gcc -v出错
1
2
|
#/opt/FriendlyARM/toolschain/4.5.1/bin/arm-linux-gcc -v bash: /opt/FriendlyARM/toolschain/4.5.1/bin/arm-linux-gcc: 没有那个文件或目录 |
通过截图可以看到这个文件是存在的,环境变量设置的也是正确的,
直接在目录bin目录下执行也不行:
1
2
3
|
ld@Techbulo:/opt/FriendlyARM/toolschain/4.5.1/bin# ./arm-linux-gcc -v exec: 15: /opt/FriendlyARM/toolschain/4.5.1/bin/.arm-none-linux-gnueabi-gcc: not found |
直接执行传说中的 arm-none-linux-gnueadi-gcc仍然不行:
1
2
3
|
ld@Techbulo:/opt/FriendlyARM/toolschain/4.5.1/bin# ./arm-none-linux-gnueabi-gcc -su: ./arm-none-linux-gnueabi-gcc: 没有那个文件或目录 |
google了一番,终于找到了答案,如下:
The problem has been solved, because I installed the amd64.iso linux system,so first must excuse apt-get install lsb-core,then you can excuse arm-linux-gcc -v
解决方案:
执行
1
|
sudo apt-get install lsb-core |
安装完成之后,再执行arm-linux-gcc -v,输出正常