您的位置 首页 观点

关于arm-linux-gcc4.4.3在ubuntu11.10下的装置

呕心沥血翻阅无数资料才看到这个比较有用的,昨晚花了几个钟装4.3.2版本的一直不成功,今天无意在论坛看到这个东西试了一下,还是得花了两…

煞费苦心翻阅许多材料才看到这个比较有用的,昨夜花了几个钟装4.3.2版别的一向不成功,今日无意在论坛看到这个东西试了一下,仍是得花了两三个钟,着实累,可是成功了。听安慰的。
以下装arm-linux-gcc4.4.3这个穿插编译器是参阅authorowen这位朋友,以下是该位朋友的博文:

参阅了前人的效果,结合自己实践。

1 下载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/4.4.3 目录。

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

mkdir arm

chmod 777 arm

然后把 opt下的4.4.3 目录复制到 /usr/local/arm下

sudo cp -r /opt/Friendlyarm/4.4.3 /usr/local/arm

2.  修正环境变量,把穿插编译器的途径参加到PATH。

网上许多修正环境变量的办法,很杂。有 redhat 上面的,federo(是这么写的吧)。下面总共三种办法,我都在UBUNTU11.10上试过,可行。

办法一:修正/etc/bash.bashrc文件(此文件只对当时用户适用)
$sudo gedit /etc/bash.bashrc(首都哥用的便是榜首种办法,一开始失利,后边不知道怎样的也就成功了)

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

办法二:修正/etc/profile文件(此文件归于体系等级的环境变量,设置在里边的东西对一切用户适用):

$sudo gedit /etc/profile

增加途径设置,在结尾增加如下,保存/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”

保存退出即可

(有照着操作一遍,后边又给复原了,可是再回归榜首种办法时却成功了)

关于途径设置问题,能够 用终端逐渐寻觅,比方 在 终端下 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
上面的指令会显现arm-linux-gcc信息和版别,这是我显现的信息:
root@ubuntu:/home/berlin# arm-linux-gcc -v
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)

6.编译Hello World程序,测验穿插东西链
写下下面的Hello World程序,保存为hello.c
#include
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上运转

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/news/guandian/262563.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部