.bashrc

在安装交叉编译工具链的过程中,牵扯到的关键点有:环境变量、.bashrc

环境变量的作用是为了安装好的交叉编译工具能在整个系统中任何位置可用,其作用类似“全局变量”。在不使用环境变量的情况下,跑到工具链安装位置以外的地方执行./arm-none-linux-gnueabi-gcc -v或者arm-none-linux-gnueabi-gcc -v会报command not found的错误。如果不想报错,那么就需要带上此工具链具体的安装路径,即执行时写成/usr/local/arm/arm-2009q3/bin/arm-none-linux-gnueabi-gcc -v才不会报错。但是你也可以发现,这样一来命令就变得很复杂,为了能在任何地方都能使用形如arm-none-linux-gnueabi-gcc -v这种“命令+操作”的语句,从而诞生了环境变量。

以上就是环境变量的由来,但是在将工具链的安装路径添加到环境变量中时(在命令行中执行export PATH=/usr/local/arm/arm-2009q3:$PATH),存在一个问题,那就是每一次添加只在当前终端起作用,当关闭此终端再重新开启另一个终端以后(或者关机后再开启的新终端),不能实现任何地方随意使用交叉编译工具链(现象就是命令行执行echo $PATH后,之前添加的交叉编译工具链安装路径并没有出现在环境变量里面)。

每次打开新终端时,系统都会首先去读取宿主目录(普通用户的宿主目录默认为/home/migui,而超级用户的宿主目录默认为/root)它底下的一个隐藏文件.bashrc(可以在命令行中执行ls -a查看)。为了解决上一段所说的问题,可以将export PATH=/usr/local/arm/arm-2009q3:$PATH添加到此隐藏文件最后,借助系统的特性来间接解决此问题。

需要注意的是,为了使设置生效,需要关闭此终端或者使用命令source ./bashrc

 另外要注意的是,此工具链在配置时在哪个用户底下配置的,到时候需要到相应的用户范围之内才能使用(比如我之前的配置是在超级用户底下进行配置的,那么切换到普通用户再使用工具链就不能起效果了)。

 

posted @ 2019-04-21 14:55  migui  阅读(1171)  评论(0编辑  收藏  举报