参考了前人的成果,结合自己实践,arm-linux-gcc-4.4.3.tar.gz的下载地址为:
http://ishare.iask.sina.com.cn/f/13836544.html?from=like

本人所用系统是Ubuntu12.04,但只要是Ubuntu应该都可以安照此步骤安装。

1.解压文件

解压 tar zxvf arm-linux-gcc-4.4.3.tar.gz -C/(

直接解压后就可以,-C/会让解压的文件自动放在根目录下指定路径,不用管) 下载arm-linux-gcc-4.4.3.tgz到任意的目录下,进入这个文件夹 sudo tar xvzf arm-linux-gcc-4.4.3.tgz –C / 注意:C后面有个空格(不需要),并且C是大写的(必须),它是英文单词“Change”的第一个字母,在此是改变目录的意思。执行该命令,将把arm-linux-gcc 安装到/opt/Friendlyarm/toolschain/4.4.3 目录。 2.建立目录 sudo mkdir /usr/local/arm 3.复制文件 sudo cp -r /opt/FriendlyARM/toolschain/4.4.3 /usr/local/arm 5.添加环境变量 网上很多修改环境变量的方法,很杂。有 redhat上面的,fedora。下面一共三种方法,有人都在UBUNTU11.10上试过,可行。(本人只用了第一种方法做过,其他的没有试过) 方法一:修改/etc/bash.bashrc文件(此文件只对当前用户适用) sudo gedit /etc/bash.bashrc 在最后加上 exportPATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin(路径)(注意等号那边不要有空格) 方法二:修改/etc/profile文件(此文件属于系统级别的环境变量,设置在里面的东西对所有用户适用) sudo gedit /etc/profile 增加路径设置,在末尾添加如下: export PATH=$PATH:/usr/local/arm/4.4.3/bin 方法三:修改/etc/environment文件 sudo 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" 关于环境变量问题: 环境变量是什么?例如path,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。 如果上面不加入环境变量,要运行arm-linux-gcc这个程序,则每次都要把arm-linux-gcc的完整路径写出来。/usr/local/arm/4.4.3/binarm-linux-gcc 文件名 -o 输出文件名 这样非常的麻烦,所以加到path里面,让电脑知道这个程序在哪里。 6.注册环境变量(此步未做,步骤8同样显示安装成功) 立即使新的环境变量生效,不用重启电脑,对应步骤5也有3种方法 方法一:source /root/.bashrc 或者 ./etc/bash.bashrc 方法二:source /etc/profile 方法三:立即生效 7.检查是否将路径加入到PATH(此步未做,步骤8同样显示安装成功) echo $PATH 显示内容/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.4.3/bin说明已经将交叉编译器的路径加入PATH。至此,交叉编译环境安装完成。 8.测试是否安装成功 方法一:另开一个终端,输入arm-,然后按两下Tab,如果出现下列信息,则表明安装成功 arm2hpdlarm-linux-gprof arm-elf-addr2line arm-linux-ld arm-elf-ar arm-linux-nm arm-elf-as arm-linux-objcopy arm-elf-c++ arm-linux-objdump arm-elf-c++filtarm-linux-populate arm-elf-elf2flt arm-linux-ranlib arm-elf-flthdr arm-linux-readelf arm-elf-g++arm-linux-size arm-elf-gcc arm-linux-strings arm-elf-ld arm-linux-strip arm-elf-ld.real arm-none-linux-gnueabi-addr2line arm-elf-nmarm-none-linux-gnueabi-ar arm-elf-objcopy arm-none-linux-gnueabi-as arm-elf-objdump arm-none-linux-gnueabi-c++ arm-elf-protoize arm-none-linux-gnueabi-cc arm-elf-ranlib arm-none-linux-gnueabi-c++filt arm-elf-readelfarm-none-linux-gnueabi-cpp arm-elf-size arm-none-linux-gnueabi-ct-ng.config arm-elf-stringsarm-none-linux-gnueabi-g++ arm-elf-strip arm-none-linux-gnueabi-gcc arm-elf-unprotoize arm-none-linux-gnueabi-gcc-4.4.3 arm-linux-addr2line arm-none-linux-gnueabi-gccbug --More-- 方法二:在终端里输入arm-linux-gcc-v,这个命令会显示arm-linux-gcc信息和版本,如果出现以下信息则表示安装成功 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) 至此,安装已经全部完成!

Ubuntu下安装arm-linux-gcc-4.4.3.tar.gz (交叉编译环境)的更多相关文章

  1. 将POD规范属性与其Xcode配置中的不同构建设置相关联(例如,发布,调试)

    我正在尝试为现有的库项目创建POD规范.在Xcode项目中,构建设置为不同的构建配置定义了不同的预处理器宏例如:对于“调试”配置:对于“发布”配置:如何将这些设置映射到相应的POD规范?

  2. 在ios上使用来自框架的boost :: filesysystem路径

    我一直在使用Boost作为PeteGoodliffe脚本构建的框架已有一段时间了.效果很好.最近我遇到了一个问题,可以通过将以下代码放入另一个全新的XCode项目中的视图控制器的viewDidLoad中来重现:当路径对象被销毁时会导致EXC_BAD_ACCESS.有没有其他人遇到这个问题?

  3. ios – LLVM,GCC 4.2和Apple LLVM编译器之间的区别3.1

    LLVMGCC4.2和AppleLLVM编译器3.1之间的主要区别是什么?

  4. ios – 存档期间不存在Xcode环境变量

    我有一个具有TestFlight构建方案的iOS应用程序.在此方案中,我在“运行”选项卡中设置了一个称为TESTFLIGHT的环境变量,值为1.此外,在构建方案的“配置文件”选项卡中,它已选中“使用RUn操作的参数和变量”选项,并在列表中看到相应的EV.当从Xcode运行应用程序时,这可以正常工作,但是当我在存储设备上运行应用程序时,环境变量TESTFLIGHT不存在.我的问题是有一个我在这里缺少的选项/方案选项卡?

  5. ios – 在/usr/lib/system/libcache.dylib中,缺少必需的架构armv6

    在试图为iphoneos编写一个虚拟程序时,Xcode4,gcc似乎没有超出初始的sysroot目录如果我把sysroot,以下作品,但感觉非常干酪,而且不可伸缩.这里发生了什么?

  6. 如何在Xcode 4.5中关闭垃圾回收,并在切换ARC时摆脱cl ang错误1?

    我刚刚重新打开了一个被设置为使用垃圾收集的项目,并且我最后在Xcode3中打开.现在在Xcode4.5中再次打开它,并希望将其现代化,我正在尝试切换ARC.但是,当构建时,会导致clangerrorerrorerrorerrorininin::::::::::::clang:error:不能同时指定’-fobjc-arc’和’-fobjc-gc-only’啊,我需要关闭我之前使用的垃圾收集.但是,

  7. Project Perfect让Swift在服务器端跑起来-在Linux上创建你的Perfect项目(三)

    前两篇,分别讲述了入门和在Linux下部署,现在得说说如何在Linux下开发了。在Linux下开发,相对比在Mac下开发更灵活。我们先来看看构建基于Perfect的网站服务的编译方式如图通过引用基础库PerfectLib和数据链接,中间件模块创建你的网页文件,并用makefile打包生成你的网站动态库。所以如果你只是在Linux下构建项目,你只需要先创建好你的Handlers.swift即可。根据上面的方式我们开始在Linux下创建我们的Perfect项目。这里我在Perfect文件夹创建了一个Demo文

  8. 使用 Swift 语言编写 Android 应用入门

    Swift标准库可以编译安卓armv7的内核,这使得可以在安卓移动设备上执行Swift语句代码。做梦,虽然Swift编译器可以胜任在安卓设备上编译Swift代码并运行。这需要的不仅仅是用Swift标准库编写一个APP,更多的是你需要一些框架来搭建你的应用用户界面,以上这些Swift标准库不能提供。简单来说,构建在安卓设备上使用的Swiftstdlib需要libiconv和libicu。通过命令行执行以下命令:gitclonegit@github.com:SwiftAndroid/libiconv-libi

  9. Project Perfect让Swift在服务器端跑起来-Hi Linux(二)

    开篇写了一个简单的入门,今天想说说怎么让Perfect项目在Linux上运行。Swift开源后,苹果让Swift不仅在OSX/iOS上跑,更让Swift在Linux/Windows上跑。作为服务端的Perfect框架+RemObjectSilver,让Swift成为了一个全栈语言。Perfect由于是服务端的,让Perfect在Linux上跑是必然的事情。从第一篇文章中我们可以了解到Perfect由PerfectLib和PerfectServer组成。

  10. Project Perfect让Swift在服务器端跑起来-在Linux上创建你的Perfect项

    前两篇,分别讲述了入门和在Linux下部署,现在得说说如何在Linux下开发了。在Linux下开发,相对比在Mac下开发更灵活。我们先来看看构建基于Perfect的网站服务的编译方式如图通过引用基础库PerfectLib和数据链接,中间件模块创建你的网页文件,并用makefile打包生成你的网站动态库。所以如果你只是在Linux下构建项目,你只需要先创建好你的Handlers.Swift即可。根据上面的方式我们开始在Linux下创建我们的Perfect项目。

随机推荐

  1. crontab发送一个月份的电子邮件

    ubuntu14.04邮件服务器:Postfixroot收到来自crontab的十几封电子邮件.这些邮件包含PHP警告.>我已经解决了这些警告的原因.>我已修复每个cronjobs不发送电子邮件(输出发送到>/dev/null2>&1)>我删除了之前的所有电子邮件/var/mail/root/var/spool/mail/root但我仍然每小时收到十几封电子邮件.这些电子邮件来自cronjobs,

  2. 模拟两个ubuntu服务器计算机之间的慢速连接

    我想模拟以下场景:假设我有4台ubuntu服务器机器A,B,C和D.我想在机器A和机器C之间减少20%的网络带宽,在A和B之间减少10%.使用网络模拟/限制工具来做到这一点?

  3. ubuntu-12.04 – 如何在ubuntu 12.04中卸载从源安装的redis?

    我从源代码在Ubuntu12.04上安装了redis-server.但在某些时候它无法完全安装,最后一次makeinstallcmd失败.然后我刚刚通过apt包安装.现在我很困惑哪个安装正在运行哪个conf文件?实际上我想卸载/删除通过源安装的所有内容,只是想安装一个包.转到源代码树并尝试以下命令:如果这不起作用,您可以列出软件自行安装所需的步骤:

  4. ubuntu – “apt-get source”无法找到包但“apt-get install”和“apt-get cache”可以找到它

    我正在尝试下载软件包的源代码,但是当我运行时它无法找到.但是当我运行apt-cache搜索squid3时,它会找到它.它也适用于apt-getinstallsquid3.我使用的是Ubuntu11.04服务器,这是我的/etc/apt/sources.list我已经多次更新了.我尝试了很多不同的debs,并没有发现任何其他地方的错误.这里的问题是你的二进制包(deb)与你的源包(deb-src)不

  5. ubuntu – 有没有办法检测nginx何时完成正常关闭?

    &&touchrestarted),因为即使Nginx没有完成其关闭,touch命令也会立即执行.有没有好办法呢?这样的事情怎么样?因此,pgrep将查找任何Nginx进程,而while循环将让它坐在那里直到它们全部消失.你可以改变一些有用的东西,比如睡1;/etc/init.d/Nginx停止,以便它会休眠一秒钟,然后尝试使用init.d脚本停止Nginx.你也可以在某处放置一个计数器,这样你就可以在需要太长时间时发出轰击信号.

  6. ubuntu – 如何将所有外发电子邮件从postfix重定向到单个地址进行测试

    我正在为基于Web的应用程序设置测试服务器,该应用程序发送一些电子邮件通知.有时候测试是使用真实的客户数据进行的,因此我需要保证服务器在我们测试时无法向真实客户发送电子邮件.我想要的是配置postfix,以便它接收任何外发电子邮件并将其重定向到一个电子邮件地址,而不是传递到真正的目的地.我正在运行ubuntu服务器9.10.先感谢您设置本地用户以接收所有被困邮件:你需要在main.cf中添加:然后

  7. ubuntu – vagrant无法连接到虚拟框

    当我使用基本的Vagrantfile,只配置了两条线:我看到我的虚拟框打开,但是我的流氓日志多次显示此行直到超时:然后,超时后的一段时间,虚拟框框终于要求我登录,但是太久了!所以我用流氓/流氓记录.然后在我的物理机器上,如果我“流氓ssh”.没有事情发生,直到:怎么了?

  8. ubuntu – Nginx – 转发HTTP AUTH – 用户?

    我和Nginx和Jenkins有些麻烦.我尝试使用Nginx作为Jenkins实例的反向代理,使用HTTP基本身份验证.它到目前为止工作,但我不知道如何传递带有AUTH用户名的标头?}尝试将此指令添加到您的位置块

  9. Debian / Ubuntu – 删除后如何恢复/ var / cache / apt结构?

    我在ubuntu服务器上的空间不足,所以我做了这个命令以节省空间但是现在在尝试使用apt时,我会收到以下错误:等等显然我删除了一些目录结构.有没有办法做apt-getrebuild-var-tree或类似的?

  10. 检查ubuntu上安装的rubygems版本?

    如何查看我的ubuntu盒子上安装的rubygems版本?只是一个想法,列出已安装的软件包和grep为ruby或宝石或其他:)dpkg–get-selections

返回
顶部