在网上下载arm-linux-gcc-4.4.3.tar.gz。

1、解压#tar -zxvf arm-linux-gcc-4.4.3.tar.gz

2、打开解压目录,将FriendlyARM文件夹拷贝到文件夹usr/local/。

cd /usr/local/

cp -rv FriendlyARM /usr/local/

(交叉编译程序集都在/usr/local/arm/4.4.3/bin)

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

方法一(未测过):修改/etc/bash.bashrc文件

#vi /etc/bash.bashrc

在最后加上:

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

export PATH

方法二(测试,无用):修改/etc/profile文件:

# vi /etc/profile

增加路径设置,在末尾添加如下,保存/etc/profile文件:

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

方法三:#export PATH=$PATH:/usr/local/FriendlyARM/toolschain/4.4.3/bin

其实,直接采用方法三即可。

4、立即使新的环境变量生效。

对应方法一(未测过):#source /root/.bashrc

对应方法二(未测过):# source /etc/profile

5、检查是否将路径加入到PATH:

# echo $PATH

显示的内容中有/usr/local/FriendlyARM/toolschain/4.4.3/bin,说明已经将交叉编译器的路径加入PATH。

6、测试是否安装成功

# arm-linux-gcc -v

显示arm-linux-gcc信息和版本。arm-linux-gcc成功安装。

7、小试牛刀。

vi下编写hello.c程序。

int main(){

printf("hello!\n");

return 0;

}

#arm-linux-gcc hello.c -o hello (与gcc hello.c -o hello使用方法一样)。

有如下错误:

/usr/local/FriendlyARM/toolschain/4.4.3/bin/../libexec/gcc/arm-none-linux-gnueabi/4.4.3/cc1: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /usr/local/FriendlyARM/toolschain/4.4.3/lib/libppl_c.so.2)

/usr/local/FriendlyARM/toolschain/4.4.3/bin/../libexec/gcc/arm-none-linux-gnueabi/4.4.3/cc1: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /usr/local/FriendlyARM/toolschain/4.4.3/lib/libppl.so.7)

原因:strings /usr/lib/libstdc++.so.6 | grep GLIBC,返回结果没有GLIBCXX_3.4.9,接着输入ls -l /usr/lib/libstdc++.so.6 ,结果为:

lrwxrwxrwx 1 root root 18 02-13 19:06 /usr/lib/libstdc++.so.6 -> libstdc++.so.6.0.8

libstdc++.so.6是个软链接,它链接到libstdc++.so.6.0.8。而libstdc++.so.6.0.8,没有`GLIBCXX_3.4.9'。版本过低。

解决办法:

一、网上下载libstdc++.so.6.0.10。放到/urs/lib目录下。

二、删除libstdc++.so.6。rm -rf /usr/lib/libstdc++.so.6。

三、重做libstdc++.so.6。软链接,ln -s /usr/lib/libstdc++.so.6.0.10 /usr/lib/libstdc++.so.6.

然后,重新输入#arm-linux-gcc hello.c -o hello。可以看到编译成功。运行#hello,"cannot execute binary file".

arm-linux-gcc编译的文件只能在arm开发板上运行,所以此处提示正确。

arm linux gcc交叉编译,arm-linux-gcc交叉编译器安装相关推荐

  1. ARM 交叉编译器安装

    ARM 交叉编译器安装: 1. 交叉工具下载 下载链接: ARM-交叉编译工具 笔者下载的这一个:gcc-arm-none-eabi-10.3-2021.07-x86_64-linux.tar.bz2 ...

  2. 嵌入式ARM+Linux 多个不同版本的交叉编译器的切换方法

    工欲善其事,必先利其器!软件工具的选择与使用,是开发人员必须重视的事情. 我这里在VM虚拟机安装的CentOS 6.5,开发编译基于ARM的嵌入式Linux,安装了几个版本的交叉编译器,以下是如何切换 ...

  3. 嵌入式ARM交叉编译器安装

    1.开发平台 虚拟机:VirtualBox 操作系统:Ubuntu 16.04 64bit 2.准备ARM交叉编译工具包 编译uboot和linux kernel都需要ARM交叉工具链支持,这里使用L ...

  4. linux下mips裸机编译,裸机交叉编译器输入

    裸机交叉编译器的输入限制是什么-因为它不编译带有指针或mallocs的程序-或任何需要比底层硬件更多的东西-.还有1如何找到这些局限性.. 我还想问一下-我为目标mips构建了交叉编译器..我需要使用 ...

  5. 高通linux系统交叉编译,【Linux】第三章 移植开源库

    在开始移植前,默认已经下载好库文件并解压好 移植三部曲: ./configuer : 配置参数 make : 编译 make install : 安装 configure 配置参数说名 1 说明 在l ...

  6. linux glog 0.50版本 设置交叉编译器生成静态库

    目标:设置glog的交叉编译器,生成静态库libglog.a: 步骤: (1)下载最新版本的glog源码,最新版本0.050(2021.08.23) https://github.com/google ...

  7. 海思sdk包以及交叉编译器安装

    首先需要准备好海思交叉编译器和sdk包,ubuntu16.04 tar -xzvf arm-himix200-linux.tgz cd arm-himix200-linux/ 可以看到如下目录 可以查 ...

  8. linux ntpdate交叉编译,arm交叉编译ntpdate与服务器进行时间同步

    1.ntp源码包:ntp-dev-4.3.91.tar.gz(可下载地址:http://www.ntp.org/downloads.html) 2.交叉编译工具:arm-linux-gnueabihf ...

  9. 查看linux 下交叉编译器安装目录,Linux下安装交叉编译工具链

    安装目的 gcc经过编译后生成的可执行文件(最后也就是一大堆机器码)是在linux操作系统之上运行的,也就是说经过gcc编译器最后生成的一大堆机器码只有Linux操作系统认识,但是我们做ARM裸机实验 ...

最新文章

  1. 设计模式(十五):解释器模式
  2. python `__del__`
  3. 计算机术语列是,计算机术语-RAM ROM
  4. UVa 10394-Twin Primes
  5. MySQL 基准测试(sysbench)工具安装时提示 automake 1.10.x (aclocal) wasn‘t found, exiting
  6. 在Python中查找字符串长度
  7. Session 的几种存储方式及优缺点
  8. hdu-1173(最短距离)
  9. 极限与连续知识点总结_大一上学期《高等数学》知识整理-第一章 极限与连续...
  10. python生成正态分布矩阵_统计学习 | 矩阵正态分布 (matrix normal distribution)
  11. cesium雷达图_cesium添加闪烁点,雷达图(一般用于预警)
  12. JSOI2008 小店购物
  13. MATLAB 2018b 安装教程(图解)Mac Win Linux下均可安装
  14. 淘宝关键字搜索商品-v1
  15. linux下删除隐藏文件夹及子文件夹
  16. 网络信息安全管理要素和安全风险评估
  17. .blade.php,Blade 模板 |《Laravel 5.4 中文文档 5.4》| Laravel China 社区
  18. Ka的分治|归并排序,注释详尽
  19. 信贷反欺诈风险管理体系|附欺诈策略细则
  20. Python基础知识学习(一)——Python语言概述、安装、运行、变量、数据类型概述

热门文章

  1. 人的效率还是机器的效率?
  2. YII实现dropDownList 联动事件
  3. PHP全栈开发(八):CSS Ⅴ 超链接 style
  4. MySQL注释(转)
  5. Java Netty (1)
  6. 深入理解控制反转(IoC)和依赖注入(DI)
  7. 阿里百川码力APP监控 来了!
  8. webStorm部分以及重要快捷键
  9. c语言中return,和exit的区别
  10. PHP 中和 HTTP 相关的函数及使用