ubuntu搭建交叉编译器

1. 安装标准的C开发环境,由于Linux安装默认是不安装的,所以需要先安装一下(如果已   经安装好的话,就可以免去这一步了):

  #sudo apt-get install gcc g++ libgcc1 libg++ make gdb

2. 下载arm-linux-gcc-4.4.1.tar.bz2到/usr/local/arm-linux/文件夹

3. 解压 arm-linux-gcc-3.4.1.tar.bz2

4.  修改环境变量,把交叉编译器的路径加入到PATH。
     修改/etc/bash.bashrc文件

       gedit /etc/bash.bashrc

       把

if [ -d /usr/local/arm-linux/4.4.1/ ] ;  then
        PATH=/usr/local/arm-linux/4.4.1/bin:"${PATH}"
fi

添加到后面。

5,使环境变量生效:

sudo source  /etc/bash.bashrc

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

     应该打印一下信息:

/usr/local/arm-linux/4.4.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

7. 测试是否安装成功
   # arm-linux-gcc -v

会打印一下信息:

Using built-in specs.
Target: arm-none-linux-gnueabi
Configured with: /scratch/julian/2009q3-respin-linux-lite/src/gcc-4.4/configure --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=arm-none-linux-gnueabi --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --enable-extra-sgxxlite-multilibs --with-arch=armv5te --with-gnu-as --with-gnu-ld --with-specs='%{funwind-tables|fno-unwind-tables|mabi=*|ffreestanding|nostdlib:;:-funwind-tables} %{O2:%{!fno-remove-local-statics: -fremove-local-statics}} %{O*:%{O|O0|O1|O2|Os:;:%{!fno-remove-local-statics: -fremove-local-statics}}}' --enable-languages=c,c++ --enable-shared --disable-lto --enable-symvers=gnu --enable-__cxa_atexit --with-pkgversion='Sourcery G++ Lite 2009q3-67' --with-bugurl=https://support.codesourcery.com/GNUToolchain/ --disable-nls --prefix=/opt/codesourcery --with-sysroot=/opt/codesourcery/arm-none-linux-gnueabi/libc --with-build-sysroot=/scratch/julian/2009q3-respin-linux-lite/install/arm-none-linux-gnueabi/libc --with-gmp=/scratch/julian/2009q3-respin-linux-lite/obj/host-libs-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --with-mpfr=/scratch/julian/2009q3-respin-linux-lite/obj/host-libs-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --with-ppl=/scratch/julian/2009q3-respin-linux-lite/obj/host-libs-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --with-cloog=/scratch/julian/2009q3-respin-linux-lite/obj/host-libs-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --disable-libgomp --enable-poison-system-directories --with-build-time-tools=/scratch/julian/2009q3-respin-linux-lite/install/arm-none-linux-gnueabi/bin --with-build-time-tools=/scratch/julian/2009q3-respin-linux-lite/install/arm-none-linux-gnueabi/bin
Thread model: posix
gcc version 4.4.1 (Sourcery G++ Lite 2009q3-67) 

8.编译Hello World程序,测试交叉工具链
  写下下面的Hello World程序,保存为hello.c

#include<stdio.h>
int main()
{
	printf("hello word!!\n");
	return 0;
}

执行下面的命令:
    # arm-linux-gcc -o hello hello.c

源程序有错误的话会有提示,没有任何提示的话,就是通过了,接着可以输入file命令查看文件属性:

#file hello

如果正确的话会输出一下信息:

hello: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, not stripped

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值