CentOS安装arm-linux-gcc交叉编译器

2023-05-16

(注:首先需要明确需要安装centos系统的位数,即是32位的还是64位的。)

1、下载并解压文件:下载arm-linux-gcc-4.4.3.tgz到任意的目录下,进入这个文件夹

输入命令:# tar xvzf arm-linux-gcc-4.4.3.tgz –C /  【解压文件到 /opt/Friendlyarm/4.4.3 目录】

注意:C后面有个空格,并且C是大写的,它是英文单词“Change”的第一个字母,
在此是改变目录的意思。

在/usr/local/下建立arm的文件夹

输入命令:# mkdir arm  【新建 /usr/local/arm/ 目录】

                 # chmod 777 arm  【修改此文件夹的权限 ,可用 命令 # cd -ll 查看】 

输入命令:# cp -r /opt/Friendlyarm/4.4.3 /usr/local/arm/ 【然后把opt下的4.4.3目录复制到/usr/local下】


2、修改环境变量,把交叉编译器的路径加入到PATH。

方法一:修改/etc/bash.bashrc文件(此文件只对当前用户适用)

输入命令:# gedit /etc/bash.bashrc

在最后加上    export PATH=$PATH:/usr/local/arm/4.4.3/bin

方法二(推荐):修改/etc/profile文件(此文件属于系统级别的环境变量,设置在里面的东西对所有用户适用):

输入命令:# vim /etc/profile

增加路径设置,在末尾添加如下,保存/etc/profile文件:
export PATH=$PATH:/usr/local/arm/4.4.3/bin

方法三:修改/etc/environm:ent文件

输入命令:# gedit /etc/environment

原文件应为  PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin: /usr/games“

将其改为      PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.4.3/bin"

保存退出即可

关于路径设置问题,可以 用终端逐步寻找,比如 在 终端下cd /usr/local/用TAB键 一直找到/bin

关于环境变量问题:

环境变量是什么?例如path,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。

如果上面不加入环境变量,要运行arm-linux-gcc这个程序,则每次都要把arm-linux-gcc的完整路径写出来。/usr/local/arm/4.4.3/bin arm-linux-gcc文件名-o输出文件名

这样非常的麻烦,所以加到path里面,让电脑知道这个程序在哪里。


3. 立即使新的环境变量生效,不用重启电脑:

对应方法一:

输入命令:# source /root/.bashrc


对应方法二:

输入命令:# source /etc/profile

方法三立即生效

4. 检查是否将路径加入到PATH:
输入命令:# echo $PATH

显示内容/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.4.3/bin说明已经将交叉编译器的路径加入PATH。至此,交叉编译环境安装完成。

5.测试是否安装成功
输入命令:# arm-linux-gcc -v

若centos为32位系统则会直接安装成功,则会显示如下信息:

Using built-in specs.
Target: arm-none-linux-gnueabi
Configured with: /opt/FriendlyARM/mini2440/build-toolschain/working/src/gcc-4.4.3/configure --build=i386-build_redhat-linux-gnu --host=i386-build_redhat-linux-gnu --target=arm-none-linux-gnueabi --prefix=/opt/FriendlyARM/toolschain/4.4.3 --with-sysroot=/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi//sys-root --enable-languages=c,c++ --disable-multilib --with-arch=armv4t --with-cpu=arm920t --with-tune=arm920t --with-float=soft --with-pkgversion=ctng-1.6.1 --disable-sjlj-exceptions --enable-__cxa_atexit --with-gmp=/opt/FriendlyARM/toolschain/4.4.3 --with-mpfr=/opt/FriendlyARM/toolschain/4.4.3 --with-ppl=/opt/FriendlyARM/toolschain/4.4.3 --with-cloog=/opt/FriendlyARM/toolschain/4.4.3 --with-mpc=/opt/FriendlyARM/toolschain/4.4.3 --with-local-prefix=/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi//sys-root --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-c99 --enable-long-long --enable-target-optspace
Thread model: posix
gcc version 4.4.3 (ctng-1.6.1)


若centos系统为64位时,则会提示一下内容

/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

表示没有安装成功,此时则需要做如下操作:

1、在64系统里执行32位程序如果出现/lib/ld-linux.so.2: 

bad ELF interpreter: No such file or directory,安装下glic即可
 则需要
输入命令:#  yum install glibc.i686
  【 www.2cto.com  】
2、如果出现error while loading shared libraries: libz.so.1: 
cannot open shared object file: No such file or directory
则需要
输入命令:#   yum install zlib.i686
3、如果出现 /libexec/gcc/arm-none-linux-gnueabi/4.4.3/cc1: 
error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
则需要
输入命令:#   yum -y install libstdc*

另外若当有缺少共享库的报错:
 
error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

解决办法:
 1、输入命令:# yum whatprovides libstdc++.so.6
 
然后会提示哪个安装包有这个库文件如下:
 
[root@localhost ~]# yum whatprovides libstdc++.so.6
 Loaded plugins: aliases, changelog, downloadonly, fastestmirror, kabi, presto, refresh-packagekit, security, tmprepo, verify,
              : versionlock
 Loading support for CentOS kernel ABI
 Loading mirror speeds from cached hostfile
  * base: centos.ustc.edu.cn
  * centosplus: centos.ustc.edu.cn
  * contrib: centos.ustc.edu.cn
  * extras: centos.ustc.edu.cn
  * updates: centos.ustc.edu.cn
 libstdc++-4.4.7-3.el6.i686 : GNU Standard C++ Library
 Repo        : base
 Matched from:
 Other      : libstdc++.so.6

2、然后执行:
 
输入命令:# yum install libstdc++-4.4.7-3.el6.i686

搞定!




6.编译Hello World程序,测试交叉工具链
写下下面的Hello World程序,保存为hello.c
#include “stdio.h”
int main()
{
printf("Hello World!\n");
return 0;
}
执行下面的命令:
$ arm-linux-gcc hello.c -o hello

ls下

看到hello执行文件

$ file hello在hello的目录下

可以看到hello: ELF 32-bit LSB executable,ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, not stripped
这样说明可以在ARM上运行,此时不能在pc上运行

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CentOS安装arm-linux-gcc交叉编译器 的相关文章

随机推荐

  • INSTALL_FAILED_TEST_ONLY

    查看博客 http www enjoytoday cn posts 159 Android studio安装apk无法安装 xff0c 报错误 xff0c 网上搜索可以看到都说是 调用者不被允许测试的测试程序 xff0c 但具体这句话具体是
  • 好看的网站

    1 红色主题网站 雕塑类 http www ibaolan com 2 40个布局排版好看的网页设计作品 https www shejidaren com 40 creative web design layout html 3 做了那么久
  • Part 2:Cocos2d-x开发基础-Cocos简介与环境搭建-关东升-专题视频课程

    立即学习 https edu csdn net course play 6735 133126 是独立按键还是矩阵按键
  • 51单片机 串口12864显示驱动

    include lt reg52 h gt define uchar unsigned char define uint unsigned int sbit CS 61 P2 5 片选信号 xff08 RS xff09 sbit SID 6
  • Nginx https 配置步骤,免费证书申请

    第一步 xff1a http aq chinaz com SSL 需要先注册登录站长工具 第二步 xff1a 填写域名信息 xff0c xff08 设置的密钥密码要记住 xff0c 在第五步时需要用到 xff09 第三步 xff1a 选择手
  • C/C++分割字符串: strtok函数

    C语言如何实现将字符串ABCD efgh i1234 David Julie Susan中 和 分隔开的几个字串ABCD efgh i1234 David Julie Susan取出来 xff1f 有个函数叫 strtok span cla
  • 浅谈用Google Scholar查找并获取外文文献的技巧和方法

    一 Google Scholar是什么 Google Scholar是Google于2004年底推出的专门面向学术资源的免费搜索工具 xff0c 能够帮助用户查找包括期刊论文 学位论文 书籍 预印本 文摘和技术报告在内的学术文献 xff0c
  • 常见的字符串处理函数strstr,strlen,strtok

    字符串处理 strstrstrlenstrtokstrchrstrcpystrcmpstrcatsprintfbzeromemsetmemcpymemcmperrno strstr span class token function str
  • Vscode+MinGW配置C++开发环境(解决版本过老和在线下载极慢问题)

    文章目录 准备电脑MinGW的编译器环境安装注意 配置Path环境路径VScode 安装C C 43 43 拓展配置运行 xff08 多数配置直接被VSCODE自动生成 xff09 准备电脑MinGW的编译器环境 为什么选择MinGW xf
  • Python——alembic数据库ORM模型的迁移与映射

    Python alembic数据库ORM模型的迁移与映射 alembic 作用 xff1a 方便数据库与ORM模型的迁移与映射 alembic 安装 xff1a pip install alembic alembic 用法 xff1a 1
  • 解决VNC远程连接树莓派,窗口显示不全的问题,亲测可行!!

    哇 xff0c 就在刚刚才百度到解决VNC远程连接树莓派 xff0c 窗口显示不全的问题 xff0c 昨晚上查了一晚上都没搞定 xff0c xff0c xff0c 首先说下问题吧 xff0c 就是用VNC远程连接树莓派后 xff0c 会出现
  • Kotlin Parameter specified as non-null is null

    报错信息如下 span class hljs label java lang IllegalArgumentException span Parameter specified as non null is null method kotl
  • 如何获取维普免费账号--应对大家工作后在校外下载维普万方等全文

    马上就要工作了 xff0c 觉得学校里面图书馆资料很多 xff0c 并且很有用 xff0c 都可以在CNKI 万方维普等中文数据库 xff0c 和SD EBSCO SpringerLink等西文数据库中下载全文 xff0c 但是仅仅限于校内
  • Ubuntu下搭建samba服务

    Samba服务器和NFS差不多 xff0c Samba是在Windows操作系统下访问Linux主机 xff0c NFS可以让Linux客户端访问NFS服务器 xff0c NFS服务器可以使用Windows搭建也可以使用Linux搭建 xf
  • VsCode打不开终端

    VsCode打不开终端 问题现象解决办法 问题现象 解决办法 打开设置 输入 integrated 并打开 settin json 插入对于终端路径设置 代码如下 xff1a 34 terminal integrated shell win
  • VMware虚拟机中的Ubuntu图形界面蓝屏问题

    VMware虚拟机中的Ubuntu图形界面蓝屏问题 因为某次暴力关机后 xff0c 进入Ubuntu时发现蓝屏 xff0c 界面显示不正常 xff0c 但Ctrl 43 alt 43 F4后可以进入命令行 xff0c 说明系统正常只是图形界
  • GD32F205在IAR上移植FreeRTOS

    目录 简述 xff1a 第一步 xff1a 准备最简工程与系统第二步 xff1a 拷贝源码第三步 xff1a 编译器IAR配置第四步 xff1a 工程代码修改第五步 xff1a 编译工程 简述 xff1a 1 主芯片 xff1a GD32F
  • vscode之C/C++代码自动补全

    目录 准备 xff1a 步骤 xff1a 安装插件重启加载更改配置选项找到 设置 打开json配置添加配置json保存并重新打开vscode即可自动补全 准备 xff1a IDE xff1a vscode 安装就不展开啦 步骤 xff1a
  • git生成公钥

    平台 xff1a Windows 打开git bash 随便在一个目录下右键 xff0c 选择 Git Bash Here 生成公钥命令 ssh keygen t rsa C your email 64 example com 备注 xff
  • CentOS安装arm-linux-gcc交叉编译器

    xff08 注 xff1a 首先需要明确需要安装centos系统的位数 xff0c 即是32位的还是64位的 xff09 1 下载并解压文件 xff1a 下载arm linux gcc 4 4 3 tgz到任意的目录下 xff0c 进入这个