配置交叉编译环境

来源:互联网 发布:cae软件 编辑:程序博客网 时间:2024/05/16 10:56
1. 安装标准的C开发环境,由于Linux安装默认是不安装的,所以需要先安装一下(如果已   经安装好的话,就可以免去这一步了):
  #sudo apt-get install gcc g++ libgcc1 libg++ make gdb
2. 下载arm-linux-gcc-3.4.1.tar.bz2到任意的目录下,我把它下载到了我的个人文件夹   里/home/wrq
  arm-linux-gcc-3.4.1.tar.bz2 的下载地址如下:
http://www.handhelds.org/download/projects/toolchain/arm-linux-gcc-3.4.1.tar.bz2
3. 解压 arm-linux-gcc-3.4.1.tar.bz2
  #tar -jxvf arm-linux-gcc-3.4.1.tar.bz2
  解压过程需要一段时间,解压后的文件形成了 usr/local/文件夹,进入该文件夹,将   arm文件夹拷贝到/usr/local/下
  # cd usr/local/
  #cp -rv arm /usr/local/
  现在交叉编译程序集都在/usr/local/arm/3.4.1/bin下面了
4.  修改环境变量,把交叉编译器的路径加入到PATH。(有三种方法,强烈推荐使用方法一)
 
   方法一:修改/etc/bash.bashrc文件
             #vim/etc/bash.bashrc
             在最后加上:
             exportPATH=$PATH:/usr/local/arm/3.4.1/bin
             exportPATH
     方法二:修改/etc/profile文件:
             # vim/etc/profile
           增加路径设置,在末尾添加如下,保存/etc/profile文件:
            exportPATH=$PATH:/usr/local/arm/3.4.1/bin
    方法三:#exportPATH=$PATH:/usr/local/arm/3.4.1/bin
              注:(这只能在当前的终端下才是有效的!)
5. 立即使新的环境变量生效,不用重启电脑:
     对应方法一:#source/root/.bashrc
    对应方法二:# source/etc/profile
6. 检查是否将路径加入到PATH:
      # echo $PATH
  显示的内容中有/usr/local/arm/bin,说明已经将交叉编译器的路径加入PATH。至此,交叉编译环境安装完成。(注:若不成功,可以重启下电脑)
7. 测试是否安装成功
   # arm-linux-gcc -v
  上面的命令会显示arm-linux-gcc信息和版本,这是我显示的信息:
 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
8.编译Hello World程序,测试交叉工具链
  写下下面的HelloWorld程序,保存为hello.c
   #include
    int main()
    {
    printf("HelloWorld!\n");
      return 0;
   }
   
    执行下面的命令:
    # arm-linux-gcc -o hellohello.c
0 0