在linux上安装交叉编译器

         什么是交叉编译:在计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,如在keil软件编译,在单片机上运行。这就是交叉编译。

一.安装标准的C开发环境,由于Linux安装默认是不安装的,所以需要先安装一下(如果已经安装好的话,就可以免去这一步了,我的就已经是安装好的了):
  #sudo apt-get install gcc g++ libgcc1 libg++ make gdb

打开共享目录/home/lishuai,将压缩文件arm-linux-gcc-4.3.2.tgz复制到/home/lishuai下

二.解压软件包arm-linux-gcc-4.3.2.tgz.

  [root@localhost lishuai]#tar xzvf arm-linux-gcc4.3.2.tgz

   1.目录4.3.2就是该交叉编译器的目录.从arm-linux-gcc-4.3.2.tgz解压信息来看,该软件包需要解压在usr/local/arm下,而实际却解压到了共享目录/home/lishuai下                              

   2.进入目录usr/local/内,并没有找到arm文件夹,所以需要新建一arm文件夹,再将目录4.3.2移动到新建目录usr/local/arm下.其中,4.3.2/bin就是arm-linux-gcc的可执行文件.
   [root@localhost local]#mv  /home/lishuai/usr/local/arm/4.3.2  ./      

   3.进入目录/usr/local/arm/4.3.2/bin,可以看到不同类型的编译器.但在ARM下经常用到是arm-linux-gcc.其实它也是一个gcc编译器,与gcc使用方法一致,不过该编译器是针对arm体系结构、Linux操作系统的编译器.利用该编译器就可以编译出运行在ARM上的Linux操作系统下的应用程序.

  4.进入目录/usr/local/arm/4.3.2/arm-none-linux-gnueabi.其中,lib目录下存放的是库文件,用户编写的应用程序在运行时就依赖于这些库文件.

  5.此时还不能编译源码,系统一般会提示找不到命令arm-linux-gcc.这是环境变量在作祟.所以必须修改环境变量PATH.
   [root@localhost lishuai]#vi /etc/profile                           

   在"export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC"这一行的下面添加环境变量,
   输入:export PATH=/usr/local/arm/4.3.2/bin:$PATH
   指定变量PATH为交叉编译器的路径,目的是告诉操作系统可以到目录/usr/local/arm/4.3.2/bin下查找可执行文件

      修改环境变量,把交叉编译器的路径加入到PATH。(有三种方法,强烈推荐使用方法一)
     方法一:修改/etc/bash.bashrc文件
                 #vim /etc/bash.bashrc
                 在最后加上:
                export PATH=$PATH:/usr/local/arm/3.4.1/bin
                export PATH
     方法二:修改/etc/profile文件:
                # vim /etc/profile
               增加路径设置,在末尾添加如下,保存/etc/profile文件:
               export PATH=$PATH:/usr/local/arm/3.4.1/bin
    方法三:#export PATH=$PATH:/usr/local/arm/3.4.1/bin
                  注:(这只能在当前的终端下才是有效的!)

  6.[root@localhost lishuai#:source /etc/profile

    //使已修改的配置文件/etc/profile生效

   立即使新的环境变量生效,不用重启电脑:
     对应方法一:#source /root/.bashrc
    对应方法二:# source /etc/profile

    检查是否将路径加入到PATH:
      # echo $PATH

  7.查看arm-linux-gcc编译器的版本

   [root@localhost lishuai]#arm-linux-gcc -v

8.编译Hello World程序,测试交叉工具链
  写下下面的Hello World程序,保存为hello.c
    #include <stdio.h>
    int main()
    {
    printf("Hello World!/n");
       return 0;
    }
   
    执行下面的命令:
    # arm-linux-gcc -o hello hello.c

 

-------------------------------------------------------------

修改环境变量这一步修改/etc/profile文件

 

在path中添加arm-linux-gcc路径

if [ "`id -u`" -eq 0 ]; then
  PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/arm/3.4.1/bin"
else
  PATH="/usr/local/bin:/usr/bin:/bin:/usr/games"
fi


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值