最近需要Ubuntu20.04上编写C,需要编译放到arm开发板上运行,这篇博客记录了我的安装过程,分析我在这过程中遇到的问题解决办法。
目录
下载、安装
命令下载
这样下载最新版的还会自动安装好。但是我用这个方法失败了,网上大多数都是用压缩包安装
sudo apt-get install gcc-arm-linux-gnueabihf
网盘下载
链接:https://pan.baidu.com/s/1TEezXgCC2akMP3xKv0sE8g
提取码:4231
将下载的包提取到/usr/local/bin
环境变量配置
sudo vim ~/.bashrc
sudo gedit ~/.bashrc
在末尾添加两行,保持退出,注意arm/5.4.0/usr/bin是我自己的路径,每个人下载的不同交叉编译工具可能不一样。
export PATH=$PATH:/usr/local/bin/arm/5.4.0/usr/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/arm/5.4.0/usr/lib
使用source命令重新加载生效该配置文件
source ~/.bashrc
测试
查看arm-linux-gcc版本
arm-linux-gcc -v
编译一个c文件,file查看编译后的文件,可以看到 ELE 32-bit ...ARM。
问题解决
bin/.arm-none-linux-gnueabi-gcc: not found
当做完环境变量配置以后,输出arm-linux-gcc -v 查看出现xxxx路径bin/.arm-none-linux-gnueabi-gcc: not found那么你的机器还需要装一个32位的库,因为ubuntu20.04是64位的,而交叉编译工具是32位程序。
sudo apt-get install libc6-i386
error while loading shared libraries: libmpfr.so.4: cannot open shared object file: No such file or directory
尝试去编译出现以下错误
tanaocheng@tanaocheng-TUF:~/Course_design$ arm-linux-gcc -o arm9x9 c9x9.c
/usr/local/bin/arm/5.4.0/usr/bin/../libexec/gcc/arm-none-linux-gnueabi/5.4.0/cc1: 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