通用交叉编译工具链
除了板卡厂商提供的交叉编译工具链外,还存在通用的交叉编译工具链。常用的有:arm-linux-gnueabihf-gcc和arm-none-linux-gnueabi-gcc。 Ubuntu命令安装$ sudo apt-get install g++-5-arm-linux-gnueabihf g++-5-arm-linux-gnueabihf $ sudo update-alternatives --install /usr/bin/arm-linux-gnueabihf-gcc arm-linux-gnueabihf-gcc /usr/bin/arm-linux-gnueabihf-gcc-5 100 --slave /usr/bin/arm-linux-gnueabihf-g++ arm-linux-gnueabihf-g++ /usr/bin/arm-linux-gnueabihf-g++-5 ## 更新软连接 arm-linux-gnueabihf-gcc二进制安装arm-linux-gnueabihf-gcc是由?Linaro?公司基于GCC推出的的ARM交叉编译工具。可用于交叉编译ARM系统中所有环节的代码,包括裸机程序、u-boot、Linux kernel、filesystem和App应用程序。 arm-linux-gneabihf-gcc 与?CodeSourcery?的 arm-none-linux-gnueabi-gcc?类 似,都可以用来编译基于ARM平台所有环节代码,CodeSourcery 的交叉编译工具发布较早,从2005年开始一直到现在。 Linaro 则是由ARM、飞思卡尔、IBM、Samsung、ST-Ericsson和TI等厂商联合,为开发不同半导体公司系统单芯片(SoC)平台的共通软件的 一个非盈利公司。 Linaro于2010年成立,并于当年11月发布第一版ARM Cortex-A 为核心的 SoC 进行效能优化的软件工具。 1. 下载软件包 从linaro的网站下载预编译二进制包,地址:https://launchpad.net/linaro-toolchain-binaries/trunk/2013.10。 注意选择的版本哦,我们要使用linux下的哦。选择这个: gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux.tar.bz2 2. 解压 解压gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux.tar.xz??到 ~/arm-cross-toolchain/目录下 3. 设置环境变量 ~$ vi .bashrc 在最后添加如下 2 行: PATH=$PATH:/home/lxl/arm-cross-toolchain/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin export PATH 请注意,第一行的$PATH后面是英文冒号,而冒号后面是你的cross-toolchain的可执行文件目录(bin目录)的绝对路径。?这两句的意思就是将cross-toolchain的可执行文件路径加入系统环境变量PATH中。 4. 使环境变量 生效 ~$ source .bashrc 5. 测试 ~$ arm-linux-gnueabihf-gcc -v 报错:arm-linux-gnueabihf-gcc: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory 原因:64位的系统,缺少 lib32stdc++6这个包 解决:~$?sudo apt-get install lib32stdc++6 ? 参考: 1.?ubuntu下安装交叉编译工具链 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |