irpas技术客

Cetos安装交叉编译工具链_glibc.i686_是佩奇吗?

网络 6199

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的速度不是特别快,这块就没演示

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

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环境

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

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

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!回车,退出不保存即可。

关于vim/vi编译器的使用 请参考: 菜鸟教程网vi/vim的使用 点击即可

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

source /etc/profile

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

echo $PATH

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


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

巧了我会,复制粘贴。粘贴到谷歌上后 告诉我们 因为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

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

基础依赖库完成

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


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

我们测试一个哈

先用vim 编写一个简单的C程序咯

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必要的运行是一样一样滴)


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

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

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

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

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

好 咯 溜了溜了


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #glibci686