ARM-LINUX-GCC设置环境变量

合集下载

arm-linux-gcc配置安装

arm-linux-gcc配置安装

arm-linux-gcc配置安装1、⾸先去下载arm-linux-gcc压缩包密码:ygf33、把arm-linux-gcc压缩包放到你⾃⼰指定的⽬录,我的放在了/root/armlinux/arm4、解压缩:#tar -jxvf arm-linux-gcc-3.4.1.tar.bz2解压完成后,你的⽬录下会出现opt⽬录。

5、找到这个路径:/root/armlinux/arm/opt/FrinendlyARM/toolschain/4.4.3/bin6、配置环境变量:修改环境变量,把交叉编译器的路径加⼊到PATH。

(有三种⽅法,强烈推荐使⽤⽅法⼀) ⽅法⼀:修改/etc/bash.bashrc⽂件#vim /etc/bash.bashrc在最后加上:export PATH=$PATH:/root/armlinux/arm/opt/FrinendlyARM/toolschain/4.4.3/bin (红⾊部分是第5步找到的路径,路径每个⼈的/root/armlinux/arm/路径都不同,要看好⾃⼰把压缩包解压到了哪⾥) 使⽂件⽣效:source /etc/bash.bashrc ⽅法⼆:修改/etc/profile⽂件:(重启后失效)# vim /etc/profile增加路径设置,在末尾添加如下,保存/etc/profile⽂件:export PATH=$PATH:/root/armlinux/arm/opt/FrinendlyARM/toolschain/4.4.3/bin 使⽂件⽣效:source /etc/profile ⽅法三:#export PATH=$PATH:/root/armlinux/arm/opt/FrinendlyARM/toolschain/4.4.3/bin 注:(这只能在当前的终端下才是有效的!)如果出现错误:not a valid identifier(⼤部分出现于CentOS) yum install -y lsb-core 如果不对,⾃⾏百度需要安装的依赖7、检查安装是否成功:arm-linux-gcc -v。

arm-linux-gcc 常用参数讲解 gcc编译器使用方法

arm-linux-gcc 常用参数讲解 gcc编译器使用方法

arm-linux-gcc常用参数讲解gcc编译器使用方法我们需要编译出运行在ARM平台上的代码,所使用的交叉编译器为arm-linux-gcc。

下面将arm-linux-gcc编译工具的一些常用命令参数介绍给大家。

在此之前首先介绍下编译器的工作过程,在使用GCC编译程序时,编译过程分为四个阶段:1. 预处理(Pre-Processing)2. 编译(Compiling)3. 汇编(Assembling)4. 链接(Linking)Linux程序员可以根据自己的需要让GCC在编译的任何阶段结束,以便检查或使用编译器在该阶段的输出信息,或者对最后生成的二进制文件进行控制,以便通过加入不同数量和种类的调试代码来为今后的调试做好准备。

和其它常用的编译器一样,GCC也提供了灵活而强大的代码优化功能,利用它可以生成执行效率更高的代码。

以文件example.c为例说明它的用法0. arm-linux-gcc -o example example.c不加-c、-S、-E参数,编译器将执行预处理、编译、汇编、连接操作直接生成可执行代码。

-o参数用于指定输出的文件,输出文件名为example,如果不指定输出文件,则默认输出a.out1. arm-linux-gcc -c -o example.oexample.c-c参数将对源程序example.c进行预处理、编译、汇编操作,生成example.0文件去掉指定输出选项"-o example.o"自动输出为example.o,所以说在这里-o加不加都可以2.arm-linux-gcc -S -o example.sexample.c-S参数将对源程序example.c进行预处理、编译,生成example.s文件-o选项同上3.arm-linux-gcc -E -o example.iexample.c-E参数将对源程序example.c进行预处理,生成example.i文件(不同版本不一样,有的将预处理后的内容打印到屏幕上)就是将#include,#define等进行文件插入及宏扩展等操作。

linux安装配置交叉编译器arm-linux-gnueabi-gcc

linux安装配置交叉编译器arm-linux-gnueabi-gcc

linux安装配置交叉编译器arm-linux-gnueabi-gcc要使我们在x86架构下运⾏的程序迁移⾄ARM架构的开发板中运⾏时,需要通过交叉编译器将x86下编写的程序进⾏编译后,开发版才能运⾏。

在安装之前我们需要了解,什么是。

⼀、下载交叉编译器1.新版本的下载⼊⼝如下图所⽰:下载流程如下所⽰:“GNU Toolchain Integration Builds → 11.0-2021.03-1 → arm-linux-gnueabihf → gcc-linaro-11.0.1-2021.03-x86_64_arm-linux-gnueabihf.tar.xz。

”注意:随着时间的不同可能版本号有所变化,不过下载流程应给是⼀样的,除⾮⽹站的变化很⼤。

2.历史版本下载⼊⼝如下图所⽰:下载流程如下所⽰:“View Releases → components → toolchain → binaries → 6.2-2016.11 → arm-linux-gnueabihf → gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf.tar.xz”⼆、安装交叉编译器进⼊linux系统,在/usr/local下创建arm⽂件,将下载的交叉编译⼯具链拷贝到linux系统的/usr/local/arm路径下,并进项解压,如下图所⽰:三、设置环境变量打开/etc/profile⽂件sudo vim /etc/profile在⽂件的最后⼀⾏添加交叉编译链的路径,完成后保存退出export PATH=$PATH:/usr/local/arm/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin如下图所⽰:重新加载环境变量的配置⽂件source /etc/profile检验是否安装成功arm-linux-gnueabihf-gcc -v如果出现以下信息说明安装成功。

arm-linux-gcc下载与安装

arm-linux-gcc下载与安装

下载glibc-linuxthreads
wget /gnu/glibc/glibc-linuxthreads-2.13.tar.gz
解压
tar -zxvf glibc-2.13.tar.gz
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
方法一,参照这篇文章的做法/view/ba4f4e222f60ddccda38a01a.html
直接下载较高版本的库libstdc++.so.6.0.10,网址/source/1670346
先删除libstdc++.so.6
[root@localhost ~]# rm /usr/lib/libstdc++.so.6
rm:是否删除 符号链接 “/usr/lib/libstdc++.so.6”? y
[root@localhost ~]#
然后将下载的libstdc++.so.6.0.10复制到/usr/lib/目录下面
打开设置文件
[root@localhost opt]# vi /etc/profile
在打开的文件的
# Path manipulation
if [ "$EUID" = "0" ]; then
pathmunge /sbin

linux环境变量基本概念以及如何定制环境变量

linux环境变量基本概念以及如何定制环境变量
4、 在profile文件添加或修改的内容需要注销系统才能生效(如果不想主销系统,则可以直接用source命令)。
5、 重复定义变量怎样理解
经常出现的是对PATH变量的定义。
例如:在peofile文件默认对PATH变量都有设置PATH=XXXXXX,在以后可能在对PATH设置,一般都加在profile文件的最后PATH=······(打个比方)。而系统之中认定的PATH=·······XXXXXXXX,也就是说相同名字的环境变量,后写入的先起作用(通俗地讲)!!!!!!!!!!!!!
2、 常在/etc/profile文件中修改环境变量,在这里修改的内容是对所有用户起作用的。以下主要操作将在该文件中进行。
3、如何添加环境变量。
例如添加”NAME=liheng“ 。
在profile文件的最后添加如下内容export NAME=liheng
变量值liheng可以加引号也可以不加,效果一样。
$ export TEST="Test..." # 增加一个环境变量TEST
$ env|grep TEST # 此命令有输入,证明环境变量TEST已经存在了
TEST=Test...
$ unset $TEST # 删除环境变量TEST
$ env|grep TEST # 此命令没有输出,证明环境变量TEST已经不存在了
-bash: unset: TEST: cannot unset: readonly variable
$ TEST="New" # 会发现此时变量不能被修改
-bash: TEST: readonly variable
附加说明:
l etc/profile对整个系统有效

Linux添加环境变量与GCC编译器添加INCLUDE与LIB环境变量

Linux添加环境变量与GCC编译器添加INCLUDE与LIB环境变量

Linux添加环境变量与GCC编译器添加INCLUDE与LIB环境变量对所有⽤户有效在/etc/profile增加以下内容。

只对当前⽤户有效在Home⽬录下的.bashrc或.bash_profile⾥增加下⾯的内容:(注意:等号前⾯不要加空格,否则可能出现 command not found)#在PATH中找到可执⾏⽂件程序的路径。

export PATH =$PATH:$HOME/bin#gcc找到头⽂件的路径C_INCLUDE_PATH=/usr/include/libxml2:/MyLibexport C_INCLUDE_PATH#g++找到头⽂件的路径CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/include/libxml2:/MyLibexport CPLUS_INCLUDE_PATH#找到动态链接库的路径LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/MyLibexport LD_LIBRARY_PATH#找到静态库的路径LIBRARY_PATH=$LIBRARY_PATH:/MyLibexport LIBRARY_PATH库⽂件在连接(静态库和共享库)和运⾏(仅限于使⽤共享库的程序)时被使⽤,其搜索路径是在系统中进⾏设置的。

⼀般 Linux 系统把 /lib 和 /usr/lib 两个⽬录作为默认的库搜索路径,所以使⽤这两个⽬录中的库时不需要进⾏设置搜索路径即可直接使⽤。

对于处于默认库搜索路径之外的库,需要将库的位置添加到库的搜索路径之中。

设置库⽂件的搜索路径有下列两种⽅式,可任选其⼀使⽤:在环境变量 LD_LIBRARY_PATH 中指明库的搜索路径。

在 /etc/ld.so.conf ⽂件中添加库的搜索路径。

将⾃⼰可能存放库⽂件的路径都加⼊到/etc/ld.so.conf中是明智的选择添加⽅法也极其简单,将库⽂件的绝对路径直接写进去就OK了,⼀⾏⼀个。

Linux环境变量配置全攻略

Linux环境变量配置全攻略

Linux环境变量配置全攻略Linux环境变量配置在⾃定义安装软件的时候,经常需要配置环境变量,下⾯列举出各种对环境变量的配置⽅法。

下⾯所有例⼦的环境说明如下:系统:Ubuntu 14.0⽤户名:uusama需要配置MySQL环境变量路径:/home/uusama/mysql/binLinux读取环境变量读取环境变量的⽅法:export命令显⽰当前系统定义的所有环境变量echo $PATH命令输出当前的PATH环境变量的值这两个命令执⾏的效果如下uusama@ubuntu:~$ exportdeclare -x HOME="/home/uusama"declare -x LANG="en_US.UTF-8"declare -x LANGUAGE="en_US:"declare -x LESSCLOSE="/usr/bin/lesspipe %s %s"declare -x LESSOPEN="| /usr/bin/lesspipe %s"declare -x LOGNAME="uusama"declare -x MAIL="/var/mail/uusama"declare -x PATH="/home/uusama/bin:/home/uusama/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" declare -x SSH_TTY="/dev/pts/0"declare -x TERM="xterm"declare -x USER="uusama"uusama@ubuntu:~$ echo $PATH/home/uusama/bin:/home/uusama/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin其中PATH变量定义了运⾏命令的查找路径,以冒号:分割不同的路径,使⽤export定义的时候可加双引号也可不加。

arm-linux-gcc交叉编译工具链安装

arm-linux-gcc交叉编译工具链安装

arm-linux-gcc交叉编译工具链安装
陈伟
解压arm-linux-gcc-3.4.1.tar.bz2
#tar zxvf arm-linux-gcc-3.4.1.tar.bz2
1.解压过程需要一段时间,解压后的文件形成了usr/local/ 文件夹,
进入该文件夹,将arm文件夹拷贝到/usr/local/下
#cd usr/local/
#cp -rv arm /usr/local/
现在交叉编译程序集都在/usr/local/arm/3.4.1/bin下面了
2.修改环境变量,把交叉编译器的路径加入到PATH。

修改~/.bashrc文件,编辑.bash_profile也行
#vim ~/.bashrc
在最后加上:
export PATH=$PATH:/usr/local/arm/3.4.1/bin export PATH
也可以:
#export PATH=$PATH:/usr/local/arm/3.4.1/bin
注:(这只能在当前的终端下才是有效的!)
3.立即使新的环境变量生效,不用重启电脑:
#source /root/.bashrc
4.检查是否将路径加入到PATH:
# echo $PATH
显示的内容中有/usr/local/arm/bin,说明已经将交叉编译器的路径加入PATH。

至此,交叉编译环境安装完成。

5. 测试是否安装成功
# arm-linux-gcc -v。

arm-linux-gcc交叉工具链的安装和使用

arm-linux-gcc交叉工具链的安装和使用

arm-linux-gcc交叉工具链的安装和使用分类:linux内核工具使用2013-01-18 01:01 2295人阅读评论(0) 收藏举报1、安装arm-linux-gcc交叉工具链[root@localhost Denny]# lsarm-linux-gcc-4.3.2.tgz Desktop gcc kernel modules shell实验 smb.conf tftp安装包 wireshark软件包at_remind.c file gdb makefiles samba安装包 smb test wireless[root@localhost Denny]# tar zxvf arm-linux-gcc-4.3.2.tgz-C / // -C 参数指的是解压到根目录下面[root@localhost /]# cd /usr/local/[root@localhost local]# lsarm bin etc games include lib libexec sbin share src[root@localhost local]# cd arm/4.3.2/arm-none-linux-gnueabi/bin/ lib/ libexec/ share/[root@localhost local]# cd arm/4.3.2/bin/ // 安装在 /usr/local/arm/4.3.2/bin/ 的“bin”目录下面[root@localhost bin]#[root@localhost bin]# /usr/local/arm/4.3.2/bin/arm-linux-gcc // arm-linux-gcc 使用方法1:跟上“全路径”[[root@localhost bin]# echo $PATH/usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bi n:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin[root@localhost bin]# export $PATHbash: export:`/usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/b in:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin': not a valid identifier[root@localhost bin]# vi /etc/proprofile profile.d/ protocols[root@localhost bin]# vi /etc/profile // arm-linux-gcc 使用方法2:添加路径到环境变量中去,在系统的时候就可以“任何地方”使用 arm-linux-gcc[root@localhost bin]## Path manipulationif [ "$EUID" = "0" ]; thenpathmunge /sbinpathmunge /usr/sbinpathmunge /usr/local/sbinpathmunge /usr/local/arm/4.3.2/bin //环境变量添加的位置fi[root@localhost file]# cat hello.c#include <stdio.h>int main(){char *p="hello world!!";printf("%s:",*p); // 错误:字符串的输出 printf("%s:",p); 不用加*p(字符串指针),和其他指针不同return 0;}[root@localhost file]# vi hello.c[root@localhost file]# gcc hello.c -o hello // x86编译方式[root@localhost file]# ./hello // 在x86上能够运行hello world!!:[root@localhost file]# arm-linux-gcarm-linux-gcc arm-linux-gcc-4.3.2 arm-linux-gcov[root@localhost file]# arm-linux-gcc hello.c -o hello1 // ARM编译方式[root@localhost file]# lsfork hello hello1 hello.c lib_file sys_file time_file[root@localhost file]# ./hello1 // 在x86上不能够运行bash: ./hello1: cannot execute binary file[root@localhost file]#2、arm-linux-gcc交叉编译工具的使用今晚用了:arm-linux-objdump -S -D hello 反汇编指令时,遇到以下提示的错误:arm-linux-objdump: Can't disassemble for architecture UNKNOWN!现在还不知道是什么错误引起的,等着明天再解决了!!!!!!!原因是:由于上面用了“gcc hello.c -o hello x86编译方式” 和“arm-linux-gcc hello.c -o hello1 ARM编译方式”产生了hello 和hello1 对应不同平台的文件,当然用“arm-linux-objdump -S -D hello”用arm反汇编指令对x86平台产生的bin文件进行反汇编,肯定出现错误(1)、反汇编arm-linux-objdump 使用[root@localhost file]arm-linux-objdump -S -D helloarm-linux-objdump: Can't disassemble for architecture UNKNOWN![root@localhost file]# lsfork hello hello1 hello.c lib_file sys_file time_file // hello 是x86编译出来的,hello1是arm编译出来的[root@localhost file]# arm-linux-gcc -g hello.c -o hello1 // -g编译产生带有调试的信息的文件(反汇编后:c语言才能和汇编语言对应上)[root@localhost file]# arm-linux-objdump -D -S hello1 >log[root@localhost file]# lsfork hello hello1 hello.c lib_file log sys_file time_file[root@localhost file]# vi log // 查看对应的文件如下00008380 <main>:#include <stdio.h>int main(){8380: e92d4800 push {fp, lr}8384: e28db004 add fp, sp, #4 ; 0x48388: e24dd008 sub sp, sp, #8 ; 0x8char *p="hello world!!";838c: e59f3020 ldr r3, [pc, #32] ; 83b4 <main+0x34>8390: e50b3008 str r3, [fp, #-8]printf("%s:",p);8394: e59f001c ldr r0, [pc, #28] ; 83b8 <main+0x38>8398: e51b1008 ldr r1, [fp, #-8]839c: ebffffc7 bl 82c0 <_init+0x48>return 0;83a0: e3a03000 mov r3, #0 ; 0x0}(2)arm-linux-readelf 文件查看工具[root@localhost file]# arm-linux-readelf -a hello1 >logELF Header: //主要查看这个头文件Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00Class: ELF32Data: 2's complement, little endian //采用的是小端模式(程序运行不起来,硬件平台是打断格式,交叉工具链是小端格式)Version: 1 (current)OS/ABI: UNIX - System VABI Version: 0Type: EXEC (Executable file)Machine: ARM //程序运行在ARM平台上Version: 0x1Entry point address: 0x82ccStart of program headers: 52 (bytes into file)Start of section headers: 2488 (bytes into file)Flags: 0x5000002, has entry point, Version5 EABISize of this header: 52 (bytes)Size of program headers: 32 (bytes)Number of program headers: 8Size of section headers: 40 (bytes)Number of section headers: 37Section header string table index: 34[root@localhost file]# arm-linux-readelf -d hello1 // -d 指的是查看程序所用的共享链接库Dynamic section at offset 0x470 contains 24 entries:Tag Type Name/Value0x00000001 (NEEDED) Shared library: [libc.so.6] // 程序所用到的共享链接库(程序运行不起来,可能找不到共享链接库,把所需要的库考到路径下)0x0000000c (INIT) 0x82780x0000000d (FINI) 0x84340x00000019 (INIT_ARRAY) 0x104640x0000001b (INIT_ARRAYSZ) 4 (bytes)0x0000001a (FINI_ARRAY) 0x104680x0000001c (FINI_ARRAYSZ) 4 (bytes)。

Linux应用程序相关环境变量的设置

Linux应用程序相关环境变量的设置

Linux应用程序相关环境变量的设置一、什么环境变量(linux下)环境变量是一个具有特定名字的对象,它包含了一个或者多个应用程序的运行环境信息。

Linux是一个多用户的操作系统。

每个用户登录系统后,都会有一个专用的运行环境。

通常每个用户默认的环境都是相同的,这个默认环境实际上就是一组环境变量的定义。

用户可以对自己的应用程序运行环境进行定制,其方法就是修改相应的系统环境变量。

通过环境变量的设置,可以很容易的修改一个牵涉到一个或多个应用程序的运行环境信息。

二、常用的应用程序相关环境变量通常linux下,如果一个应用程序的安装路径不为/usr、/usr/local等系统默认的安装路径,则运行该应用程序时至少要指定环境变量PATH及LD_LIBRARY_PATH,来分别指定该应用程序命令的查找路径和共享库(动态链接库)的查找路径路径。

(这两个用环境变量设置的路径通常在在默认路径之前查找)除了常用的应用程序相关变量PATH及LD_LIBRARY_PATH,有些应用程序运行还需要一些特殊的环境变量。

如:Qte4需要环境变量QTEDIR;Java 需要环境变量JAVA_HOME和CLASSPATH 等。

总之,在应用程序运行是必须保证其要求的环境变量已经设置好。

三、设置环境变量3.1、用命令export设置环境变量linux提供了一个专门的命令:export来设置环境变量。

其使用方式如下:语法:export [-fnp][变量名称]=[变量设置值]说明:在shell中执行程序时,shell会提供一组环境变量。

export可一次新增,修改或删除多个环境变量,供后续执行的程序使用。

但export的效力仅及于该此登录操作,当当前shell关闭后export设置的环境变量也失去了效力。

参数:-f 代表[变量名称]中为函数名称。

-n 删除指定的变量。

变量实际上并未删除,只是不会输出到后续指令的执行环境中。

-p 列出所有的shell赋予程序的环境变量。

gcc编译arm

gcc编译arm

GCC (GNU Compiler Collection) 是一个广泛使用的编译器,它支持多种编程语言,包括C、C++、Objective-C 和Fortran 等。

它也可以用于编译ARM 架构的代码,主要涉及交叉编译(cross-compilation)的概念。

要进行交叉编译,您需要为目标ARM 系统设置一个交叉编译工具链(cross-compiler toolchain)。

这个工具链通常包含一系列的交叉编译器工具,如gcc、g++、cpp、ld 等,这些工具用于生成可在目标ARM 系统上运行的二进制文件。

以下是一些基本步骤,用于使用GCC 进行ARM 交叉编译:1. 安装交叉编译工具链:首先,下载并安装适用于ARM 的交叉编译工具链。

2. 设置环境变量:在您的shell 中,设置交叉编译工具链的路径,以便系统能够找到这些工具。

例如,在bash shell 中,您可以运行以下命令:bashexport PATH=/path/to/your/arm-linux-gnueabihf/bin:$PATH3. 编译代码:使用交叉编译器编译您的代码。

例如,如果您有一个名为main.c 的C 源文件,您可以这样编译它:basharm-linux-gnueabihf-gcc main.c -o main这将生成一个名为main 的可执行文件,该文件是为ARM 系统设计的。

4. 测试可执行文件:将生成的可执行文件复制到目标ARM 系统上并运行它,以验证其功能。

5. 链接库:如果您在您的程序中使用了库(如libc),那么您需要确保使用正确的库版本(例如,对于ARM,您可能需要libm 和libc 等库)。

在编译过程中,使用-l 选项指定库的名称。

例如:basharm-linux-gnueabihf-gcc main.c -o main -lm -lc这将链接数学库(libm) 和C 标准库(libc)。

6. 优化:您还可以考虑使用优化选项来优化您的程序,以提高其在目标ARM 系统上的性能。

交叉编译环境搭建

交叉编译环境搭建

我帮他安装完之后写了一个hello world程序测一下安装成功了没有。

用gcc编译成功了,但用arm-linux-gcc来编译的时候却报stdio.h no such file or directory 这个错误。

我以前也装过几次,没发现此类的问题,然后又按照书上的方法试了几次,也都是这样的错误,在别人的电脑上试了还是一样出现这个错误。

在google里面也搜了一下这个问题,发现这个问题别人也遇到过,没什么解决方案。

最后在网上下了一个4.3.2的版本,配置了一下,运行hello world程序,居然没有错误了。

注:我使用的操作系统为:ubuntu11.10,开始使用的arm-linux-gcc 版本为3.3.2.如果有人也出现找不到头文件的情况,希望换个版本的arm-linux-gcc来用一下。

下面介绍一下交叉编译环境的安装全过程。

1.首先下载arm-linux-gcc-4.3.2.tgz,可以到arm Friendly官网上下/download.asp。

2.下载完后解压。

解压可以把文件拷到/usr/local/arm/然后解压tar zxvfarm-linux-gcc-4.3.2.tgz,这是比较笨的做法。

linux提供了简单的方法为什么不用呢。

在任意目录下tar zxvf arm-linux-gcc-4.3.2.tgz -C /注意是大写的“C”,并且大写的“C”和“/”之间有一个空格。

解压完后就是配置环境变量了。

3.在root目录下gedit .bashrc当然你也可以用vim .bashrc个人喜欢用gedit。

在弹出的页面的最后一行加上export PATH=$PATH:/usr/local/arm/4.3.2/bin保存退出4.注销5.检查一下是不是安装好了,打开终端。

输入arm-linux-gcc -v看有没有相应的版本信息输出,输出信息如下所示:[root@localhost ~]# arm-linux-gcc -vUsing built-in specs.Target: arm-none-linux-gnueabiConfigured with: /scratch/julian/lite-respin/linux/src/gcc-4.3/configure--build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=arm-none-linux-gnueabi--enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch--with-gnu-as --with-gnu-ld --enable-languages=c,c++ --enable-shared--enable-symvers=gnu --enable-__cxa_atexit --with-pkgversion='Sourcery G++ Lite 2008q3-72' --with-bugurl=https:///GNUToolchain/ --disable-nls --prefix=/opt/codesourcery --with-sysroot=/opt/codesourcery/arm-none-linux-gnueabi/libc --with-build-sysroot=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/libc--with-gmp=/scratch/julian/lite-respin/linux/obj/host-libs-2008q3-72-arm-none-linux-gnuea bi-i686-pc-linux-gnu/usr--with-mpfr=/scratch/julian/lite-respin/linux/obj/host-libs-2008q3-72-arm-none-linux-gnuea bi-i686-pc-linux-gnu/usr --disable-libgomp --enable-poison-system-directories--with-build-time-tools=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/bin --with-build-time-tools=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/bin Thread model: posixgcc version 4.3.2 (Sourcery G++ Lite 2008q3-72)。

搭建arm-linux-gcc-4.6.1

搭建arm-linux-gcc-4.6.1

Ubuntu11.04中搭建交叉编译环境(arm-linux-gcc-4.6.1版本)声明:本文主要参考/xt_xiaotian/article/details/6836739,并根据实际情况作了一定的修改与说明编译环境:内核名称:Linux内核发行版:2.6.38-11-generic内核版本:#50-Ubuntu SMP Mon Sep 12 21:18:14 UTC 2011硬件架构名称:i686硬件平台:i386操作系统:GNU/Linux当前系统gcc版本号:4.5.2在Linux中建立整个ARM交叉编译环境的整体过程为:1、下载源码包2、建立编译目录并设置环境变量3、安装内核头文件4、安装二进制工具(binutils)5、建立初始编译器工具链(简版gcc)6、建立glibc库7、建立全套编译器工具链(full gcc)8、验证一、下载源码包GNU的所有源码文件都可以到这个地址下载:/gnu/Linux Kernel源代码可以去这里下载:mpc可以去这里下载:下载的源码包如下:binutils-2.21.1.tar.bz2gcc-4.6.1.tar.gzglibc-2.14.tar.gzglibc-linuxthreads-2.5.tar.bz2glibc-ports-2.13.tar.gzgmp-5.0.2.tar.bz2linux-2.6.32.45.tar.gzmpc-0.9.tar.gzmpfr-2.4.2.tar.gz注:mpfr不建议使用3.0.0版本。

mpfr-3.0.0有Bug,会导致gcc编译不过。

二、建立编译目录并设置环境变量选定自己的工作目录,如我选择/opt/embedded作为自己的工作目录。

然后再embedded 中建立build-tools、kernel、tools三个文件夹。

实例:root@ubuntu:/opt/ming# cd /opt/root@ubuntu:/opt# mkdir embeddedroot@ubuntu:/opt# cd embedded/root@ubuntu:/opt/embedded# mkdir build-tools kernel toolsroot@ubuntu:/opt/embedded# cd build-tools/root@ubuntu:/opt/embedded/build-tools# mkdir build-binutils build-boot-gcc build-glibc build-gcc各文件夹的作用如下:/opt/embedded:交叉编译环境的主目录/opt/embedded/build-tools:存放binutils、gcc、glibc等GNU源码和用来编译这些源代码的目录/opt/embedded/kernel:用来存放Linux内核源代码/opt/embedded/tools:用来存放编译好的交叉编译工具和库文件/opt/embedded/build-tools/build-binutils:编译binutils的目录/opt/embedded/build-tools/build-boot-gcc:编译gcc启动部分的目录/opt/embedded/build-tools/build-glibc:编译glibc的目录/opt/embedded/build-tools/build-gcc:编译整个gcc的目录建立好编译目录之后便是设置环境变量(建议直接在~/.bashrc中修改,注意修改之后要重新运行Terminal)。

在Linux里设置永久环境变量的方法

在Linux里设置永久环境变量的方法
declare -x SSH_TTY="/dev/pts/2"
declare -x TERM="linux"
declare -x USER="root"
declare -x USERNAME="root"
可以看到,环境变量已经设好,PATH里面已经有了我要加的编译器的路径。
2、修改profile文件:
在Linux里设置环境变量的方法
一般来说,配置交叉编译工具链的时候需要指定编译工具的路径,此时就需要设置环境变量。例如我的mips-linux-gcc编译器在“/opt/au1200_rm/build_tools/bin”目录下,build_tools就是我的编译工具,则有如下三种方法来设置环境变量:
declare -x LS_COLORS="no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35:"

linux交叉编译环境搭建步骤

linux交叉编译环境搭建步骤

linux交叉编译环境搭建步骤正文:在进行Linux交叉编译之前,我们需要先搭建好相应的交叉编译环境。

下面是搭建步骤的详细说明:步骤一:安装必要的软件包首先,我们需要安装一些必要的软件包,包括GCC、binutils、glibc 以及交叉编译工具链等。

可以通过包管理器来安装这些软件包,比如在Ubuntu上可以使用apt-get命令,CentOS上可以使用yum命令。

步骤二:下载交叉编译工具链接下来,我们需要下载相应的交叉编译工具链。

可以从官方网站上下载已经编译好的工具链,也可以通过源码自行编译得到。

下载好之后,将工具链解压到一个目录下。

步骤三:配置环境变量为了方便使用交叉编译工具链,我们需要将其添加到系统的环境变量中。

可以通过编辑.bashrc文件来实现,添加类似下面的内容:```shellexport CROSS_COMPILE=/path/to/cross-compiler/bin/arm-linux-export ARCH=arm```其中,/path/to/cross-compiler是你下载的交叉编译工具链的路径。

步骤四:测试交叉编译环境在配置好环境变量之后,我们可以通过简单的测试来验证交叉编译环境是否搭建成功。

比如,可以尝试编译一个简单的Hello World程序,并在目标平台上运行。

步骤五:编译其他软件当交叉编译环境搭建成功,并且测试通过之后,我们就可以使用这个环境来编译其他的软件了。

比如,可以使用交叉编译工具链来编译Linux内核、U-Boot引导程序、驱动程序等。

总结:搭建Linux交叉编译环境是进行嵌入式开发的基础工作之一。

在搭建好环境之后,我们可以使用交叉编译工具链来编译适配于目标平台的软件,从而实现在开发主机上进行开发和调试的目的。

arm-linux-gcc下载与安装

arm-linux-gcc下载与安装

[root@localhost ~]#
重新测试交叉编译是否能

[root@localhost ~]# arm-linux-gcc test.c -o test
[root@localhost ~]#
[root@localhost ~]#
检验是否替换完成
[root@localhost ~]# strings /usr/lib/libstdc++.so.6|grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
打开设置文件
[root@localhost opt]# vi /etc/profile
在打开的文件的
# Path manipulation
if [ &quot;$EUID&quot; = &quot;0&quot; ]; then
pathmunge /sbin
pathmunge /usr/sbin
在友善之臂官方网站/download.asp下载arm-linux-gcc4.4.3。
2,删除之前安装有旧版本,执行
[root@localhost ~]# rm -rf /opt/arm
3,对新版本arm-linux-gcc-4.4.3进行解压(注意,如果我们加上了-C,那么就会自动解压到/usr/local/arm/这个目录下),但是友善之臂按照下列方式解压,不会解压到/usr/local/arm/目录下的,这是因为友善之臂把/usr/local/arm/目录修改成了 /opt/FriendlyARM/toolschain/,除非自己在把它修改过来

Linux系统修改环境变量用什么命令

Linux系统修改环境变量用什么命令

Linux系统修改环境变量用什么命令我们都知道Windows环境变量可以直接在系统面板设置,那么Linux系统呢?Linux系统环境变量PATH分为永久性环境变量和临时性环境变量,那么Linux系统中怎么修改环境变量呢?本文就来给大家介绍一下:Linux系统修改环境变量的技巧要检查用户的环境变量,用户模式下运行下面的命令:$ echo $PATH/usr/lib64/qt-3.3/bin:/bin:/usr/bin:/usr/sbin:/sbin:/home/xmodulo/bin或者运行:$ env | grep PATHPATH=/usr/lib64/qt-3.3/bin:/bin:/usr/bin:/usr/sbin:/sbin:/home/xmodulo/bin如果你的命令不存在于上面任何一个目录内,shell就会抛出一个错误信息:“command not found”。

如果你想要添加一个另外的目录(比如:/usr/local/bin)到你的PATH变量中,你可以用下面这些命令。

为特定用户修改PATH环境变量如果你只想在当前的登录会话中临时地添加一个新的目录(比如:/usr/local/bin)给用户的默认搜索路径,你只需要输入下面的命令。

$ PATH=$PATH:/usr/local/bin检查PATH是否已经更新:$ echo $PATH/usr/lib64/qt-3.3/bin:/bin:/usr/bin:/usr/sbin:/sbin:/home/xmodulo/bin:/usr/lo cal/bin更新后的PATH会在当前的会话一直有效。

然而,更改将在新的会话中失效。

如果你想要永久更改PATH变量,用编辑器打开~/.bashrc (或者~/.bash_profile),接着在最后添加下面这行。

export PATH=$PATH:/usr/local/bin接着运行下面这行永久激活更改:$ source ~/.bashrc (或者 source ~/.bash_profile)改变系统级的环境变量如果你想要永久添加/usr/local/bin到系统级的PATH变量中,像下面这样编辑/etc/profile。

ubuntu14.04下arm-linux-gcc4.5.1的安装与配置

ubuntu14.04下arm-linux-gcc4.5.1的安装与配置

ubuntu14.04下arm-linux-gcc4.5.1的安装与配置
使⽤的是友善之臂mini6410⾃带光盘中的。

1.对新版本arm-linux-gcc-5.4.1进⾏解压(注意,下⾯的C是⼤写的)
tar zxvf arm-linux-gcc-4.5.1-v6-vfp-20101103.tgz -C/
解压完成后,会解压到/opt/FriendlyARM/toolschain/4.5.1/⽬录下。

(不加C的话,应该会解压到软件压缩包同⽂件夹下⾯。

加C,是解压到根⽬录。


2.设置环境变量
sudo vim /etc/profile
在最后⼀⾏加:
export PATH=$PATH:/opt/FriendlyARM/toolschain/4.5.1/bin
即将交叉编译⼯具链的路径加⼊。

完成后保存。

3.使⽤命令:source /etc/profile 使环境变量⽣效
4.检查是否将路径加⼊PATH中。

echo $PATH
如果成功的话,会出现刚才设置的变量地址。

5.测试是否成功
在终端⾥输⼊arm-linux-gcc-v,这个命令会显⽰arm-linux-gcc信息和版本,如果出现以下信息则表⽰安装成功
⾄此,安装结束。

(注意,如果上⾯4.5两步不成功的话,重启计算机试⼀下。

)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ARM-LINUX-GCC设置环境变量
在/etc/profile 里添加arm-linux-gcc 的存放路径具体是在命令行输入#sudo gedit /etc/profile 回车export PATH=$PATH:/你的arm-linux-gcc 存放的路径保存
退出export PATH=/usr/local/arm/bin
注意这里最好使用
export PATH=$PATH:/usr/local/arm/4.3.2/bin
没有$符号的时候可能会修改了默认路径
然后会回到终端输入命令界面,输入#arm-linux-gcc -v
下面的来自hi.baidu/gonghuixue/item/74a18faa2f7522921410734f1.首先安装build-essential:sudo apt-get install build-essential2.将友善之壁光盘中的arm- linux-gcc-4.3.2.tgz 拷贝到某个文件夹下,从终端进入该文件夹,进行解压:sudo tar -zxvf arm-linux-gcc-4.3.2.tgz -C /NOTE:配置项的C 是大写,且C 后面有个
空格。

3.添加环境变量:这一步是我耗时间最长的,关于这一步网上也有很多
中说法:1>sudo gedit /root/.bashrc : 在最后一行添加exprot PATH=$PATH:/usr/local/arm/4.3.2/bin。

我不知道其它linux 系统行不行,反正
我在ubuntu10.04 下是不行,运行arm-linux-gcc -v 提示:arm-linux-gcc:command not found。

2>先gedit ~/.profile,然后在最后一行添加:export PATH=$PATH:/usr/local/arm/4.3.2/bin,接着source~/.profile,说是可以立即生效,这种是可以,但是我的总是只能使用一次,如果把终端关掉重新运行arm- linux-gcc -v,还是提示command not found.3> sudo gedit /etc/environment,在最后一个:号之后和号之前添加/usr/local/arm/4.3.2/bin:,OK!~~tips:感谢大家的
阅读,本文由我司收集整编。

仅供参阅!。

相关文档
最新文档