在学习linux-arm的时候总是困惑与:为什么网上到处都是建立交叉编译环境的文章,而匮乏gcc工具的使用的说明?或许学习gcc最好的老师是她的datasheet的缘故吧。网上总是把交叉环境的搭建讲得过于复杂,这也或许是因为这些写文章的人是高手的缘故吧。假如你是和我一样的菜鸟,那么,就请花30秒钟的时间看完这篇文章,你会发现,原来交叉编译的建立原来是这么简单。
第一步:下载。
下载编译好的gnu for arm工具包,http://arm9download.cncncn.com/mini2440/linux/arm-linux-gcc-4.4.3-20100728.tar.gz,这个是友善之臂的4.4.3,要是保守的朋友也可以选择 http://arm9download.cncncn.com/mini2440/linux/arm-linux-gcc-4.3.2.tgz,这个是4.3.2的版本,至于版本的选择,请google一下。
第二步:解压。
将上面下的压缩包解压到你的linux的根目录“/”下,要是不会解压的话,请你先花点时间学下linux的常见命令。
第三部:设置环境变量。
修改profile文件:
对所有用户有效(不安全)
#vi /etc/profile
在最后里加入:
export PATH="$PATH:/usr/local/arm/4.3.2/bin"
第四部:重启。
# reboot
第五步:检验。
# arm-linux-gcc --v
要是你看到类似这样的信息,那么你就成功了。
Using built-in specs.
Target: arm-none-linux-gnueabi
Configured with: /scratch/julian/lite-respin/linux/src/gcc-4.3/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 --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --enable-shared --enable-symvers=gnu --enable-__cxa_atexit --with-pkgversion='Sourcery G++ Lite 2008q3-72' --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/lite-respin/linux/install/arm-none-linux-gnueabi/libc --with-gmp=/scratch/julian/lite-respin/linux/obj/host-libs-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --with-mpfr=/scratch/julian/lite-respin/linux/obj/host-libs-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --disable-libgomp --enable-poison-system-directories --with-build-time-tools=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/bin --with-build-time-tools=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/bin
Thread model: posix
gcc version 4.3.2 (Sourcery G++ Lite 2008q3-72)
看到这里就算完成了,假如你要质疑:为什么不自己编译一个呢?那你就多花点时间编译一个吧,记得回来把经验分享给我!