Cetos安装交叉编译工具链

Cetos安装交叉编译工具链

Linux环境:Cetos7

ARM-Linux-GCC版本: arm-linux-gcc 4.4.3.tar

远程ssh登录工具: Termius Xftp

安装arm-linux-gcc

  • 这里有两种下载方式

    第一种 在ARM的官网或者第三方的资源网站下载压缩包到Windos端上传到Linux端

    第二种 执行在Linux中执行命令下载压缩包安装

    由于本地windos文件上传到Linux端可能会出现文件丢失或损坏的一些奇奇怪怪的错误,这里推荐直接Linxu端直接下载

    第一种 下载方式

1、通过第三方的资源网如:广州友善电子科技资源网(或ARM官网下载

广州友善电子科技资源网

2、将下载到的arm-linux-gcc 4.4.3.tar压缩包通过Xftp上传到Linux的家目录中

文件传输

  • 这里还可以用另一款工具Termius 上传,由于Termius的速度不是特别快,这块就没演示
    image-20220314180151844432

    • 在终端中可以看到刚在成功上传的文件

    ll终端

3、将ARM-Linux-GCC压缩包解压到/usr/local/arm/目录中

3.1 在/usr/local/创建arm安装目录

mkdir /usr/local/arm

3.2 执行解压命令,解压arm-linux-gcc 4.4.3.tar到指定目录 /usr/local/arm/中

 tar xvzf arm-linux-gcc-4.4.3.tar.gz -C /usr/local/arm/

4、解压完成后会在 /usr/local/arm/opt/FriendlyARM/toolschain/4.4.3目录中看到一个 bin目录配置过Wimdos端的MinGW编译器都熟悉这个目录,在windos的环境变量PATH目录中加入bin目录,让其windos任何目录下都可以执行gcc编译执行命令。

那么在Linux中同样为了在任意的目录下都可以访问到,需要我们配置Linux中的PATH环境

image-20220313134340607

4.1用vim修改/etc/profile配置文件		
  • 这里忘记有一点,一般新的Cetos的mini系统是不自带vim文本编辑器的,这里需要自己安装一个
    • 在终端中输入以下命令即可
yum install vim

image-20220316120410279

我这里之前安装过咯,所以哈。你们的安装提示与我的不同,请忽略即可。。。。

vim /etc/profile

4.2 如图所示在文件配置的末尾添加绝对bin路径,并保存退出

  • vim编译器的使用

    如果你第一次使用vi或vim编译器可能不太习惯其不友好的操作,这里我就稍微提一下具体的 vim环境变量的配置

    1、输入 vim /etc/profile (已安装vim编辑器)或者 vi /etc/profile

    2、 此时是在其命令状态是无法进行编辑的,在输入法是英文状态是按下键的 i 键 进入编辑状态既就是(insert)插入状态

    3、在打开的配置文件中最后一行复制粘贴插入以下 配置信息(配置地址以个人安装目录为准

export PATH="$PATH:/usr/local/arm/opt/FriendlyARM/toolschain/4.4.3/bin"

​ 4、确认信息变量的绝对路径无误后按下 esc 键 退出编辑模式到命令模式。

​ 5、此时在命令模式下按住键盘 Shift + : 键(L右边的键),在命令模式中输入 命令 wq 回车即可。

​ 6、如果发现自己输入信息有误,在命令模式下输入 q!回车,退出不保存即可。

/etc/profile配置文件

4.3 立即使新的环境变量生效

source /etc/profile

/etc/profile

4.5 检查是否将路径已经成功添加到PATH环境中如果显示内容含有/opt/FriendlyARM/toolschain/4.4.3/bin 表示已经成功添加

echo $PATH

echo $PATH

5、输入命令测试检查arm-linux-gcc -v 是否安装完成

arm-linux-gcc


哎~啊这。。。这里出现了一个问题提醒No such file or directory 没有文件或目录image-20220313142950892

巧了我会,复制粘贴。粘贴到谷歌上后 告诉我们 因为64位的系统运行32位的程序是不谦容导致的,之前没有注意到 下载的arm-linux-gcc 4.4.3.tar是32位的。

如果需要让其32位的应用程序兼容到64位的系统中只需要按照两个依赖库就木滴问题啦

//基础依赖库:
 yum install glibc.i686
//libstdc++依赖库:
yum install libstdc++.i686
  • 输入 yum install glibc.i686

image-20220313143905338

  • 输入y确认按照(所有的操作以管理员root身份Linux端联网运行)这里提醒有20M

image-20220313143947670

  • 基础依赖库完成

    image-20220313144119991

  • 同样的输入 yum install libstdc++.i686 安装 libstdc++依赖库

    image-20220313144310768


    此时我们再次输入 arm-linux-gcc -v
    • 如果提醒以下信息那么赖,我们就安装完成咯

image-20220313144616769

我们测试一个哈
  1. 先用vim 编写一个简单的C程序咯

    image-20220313154014862

    2.调用使用arm-linux-gcc 编译测试

    arm-linux-gcc hello.c -o hello
    

呀。。。。我真滴。这个又提醒了一个错误 。。。额

这里说:

error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory

意思就是 缺少一个libz.so.1的运行库。。。别愁了孩子快去装一个去。(意思就和我们在Win10中安装一些软件后提醒缺少xxx.lib必要的运行是一样一样滴)

image-20220313153813308


  • 直接执行以下代码安装必要的运行库
yum install glibc.i686 glibc-devel.i686 libstdc++.i686 zlib-devel.i686 ncurses-devel.i686 libX11-devel.i686 libXrender.i686 libXrandr.i686 -y

image-20220313153841270

  • 这次 我们编译hello.c文件再试试

image-20220313155344813

好咯,木滴问题。再root目录下多出来了一个刚才成功编译好的权限为-rwx 的可执行,二进制文件hello。

另外:无法使用./hello文件滴

使用arm-linux-gcc 编译的文件是一个基于arm架构的二进制文件无法使用我们的x86架构CPU打开滴

image-20220313161820776

  • 好 咯 溜了溜了
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值