如何搭建arm-linux-gcc工具包?
gcc是个什么东西?
- GCC(GNU Compiler Collection,即 GNU 编译器套装),是一套由 GNU 开发的编程语言编译器。它是一套以 GPL 及 LGPL 许可证所发行的自由软件,也是 GNU 计划的关键部分,亦是自由的类 Unix 及苹果计算机 Mac OS X 操作系统的标准编译器。GCC(特别是其中的 C 语言编译器)也常被认为是跨平台编译器的事实标准。Linux系统下的 GCC 编译器实际上是 GNU 编译工具链中的一款软件,可以用它来调用其他不同的工具进行诸如预处理、编译、汇编和链接这样的工作。GCC 不仅功能强大,性能优越,其执行效率比一般的编译器相比要高20%~30%,而且由于其是 GNU 项目之一,是开源的软件,我们可以直接从网上免费地下载安装它。(借鉴林世霖老师出自《Linux 环境编程图文指南》的原话)
- 说白了这gcc就是把我们看得懂 XXX.c 翻译成计算机看得懂的一位“翻译官”,但是这个翻译官他只董把.c文件翻译成x86平台看得懂的格式,而一些ARM-Linux却无法读懂,就好比电脑程序不能在手机上运行是一个道理。所以我们才要请来另外一位“翻译官”arm-linux-gcc!!
arm-linux-gcc又是个什么东西?
- 上一个标题已经说了是另外一个“翻译官”
开始我们的操作把…
- 复制压缩包arm-linux-gnueabi-5.4.0.tar.xz 到用户家目录中
工具包下载地址:
链接:https://pan.baidu.com/s/1bCscDqG-TTDW8CfshZZrTA
提取码:rstw
$ cp arm-linux-gnueabi-5.4.0.tar.xz ~
- 解压压缩包arm-linux-gnueabi-5.4.0.tar.xz
$ sudo tar -xvJf arm-linux-gnueabi-5.4.0.tar.xz
- 复制arm 到usr/locol/中
$ cd usr/local/
$sudo cp arm/ /usr/local/ -r
- 添加环境变量
$vim ~/.bashrc
#用键盘直接跳到最后一行添加一下语句
export PATH=/usr/local/arm/5.4.0/usr/bin:$PATH
-
检查版本号
如果没有出现以下信息肯能是你在安装过程中出现了问题请注意检查第四步输入是否有误
-
随便找个代码试试吧
出现了个意外!!!
error while loading shared libraries: libmpfr.so.4: cannot open shared object file: No such file or directory
主要是说这个库 libmpfr.so.4 找不到的意思吧…小弟英语不咋地就看懂了这点东西… -
修复这个错误先吧…
$cd /usr/local/arm/5.4.0/usr/lib
看看有没有他找不到的那个库!!?!?!
是不是发现确实存在
那是为什么呢…这都怪环境变量我们在.bashrc再添加一下这个库的路径吧
$vim ~/.bashrc
用键盘直接跳到最后一行添加以下语句
export LD_LIBRARY_PATH=/usr/local/arm/5.4.0/usr/lib
- 再来一瓶
顺便使用file命令看看两个文件的区别(没错这个交叉编译工具只支持32位的嵌入式平台噢)
OK 了!!
问题1: Linux:error while loading shared libraries: libmpc.so.3
解决:
https://altlinux.pkgs.org/sisyphus/classic-x86_64/libmpc3-1.1.0-alt1.x86_64.rpm.html可以尝试直接运行一下命令:
sudo apt-get install libmpc3
问题2: error while loading shared libraries: libmpfr.so.4: cannot open
shared object file: No such file or directory
解决尝试执行以下命令:
sudo ln -s /usr/lib/x86_64-linux-gnu/libmpfr.so.6 /usr/lib/x86_64-linux-gnu/libmpfr.so.4