本文主要是介绍设置交叉编译工具链的环境变量,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1 环境变量的意义
环境变量相当于操作系统的全局变量。每一个环境变量对操作系统来说都是唯一的,名字和所代表的意义都是唯一的。Linux系统可以有很多个环境变量。其中有一部分是Linux系统自带的,还有一些是我们自己来扩充的。这里需要使用的环境变量是PATH。PATH是系统自带的,含义是系统在查找可执行程序时会搜索的路径范围。
使用echo $PATH命令查看当前PATH环境变量,如下图:
2 修改环境变量
export PATH=/usr/local/arm/bin/:$PATH
使用上述命令,只要关掉这个terminal,再打开另外一个terminal就没用了,只是临时的。
解决办法是:
编辑 .bashrc文件,此文件每次打开terminal时都会默认执行一次。
在 /root 目录下使用 ls -a ,如下图:
编辑 .bashrc文件,添加上述export 命令:
之后保存文件。
使用source .bashrc或者直接重新打开一个terminal,检查是否修改成功。
注意:
修改的是 root 用户的 .bashrc 文件,如果使用其他用户登录是不行的,需要使用 su 命令切换到 root 用户。
3 创建符号链接
当觉得工具链本来的名字太复杂或者太长时,可以创建符号链接解决。
切换到工具链所在文件夹,使用如下命令:
ln arm-none-linux-gnueabi-gcc -s arm-linux-gcc
使用 ls 查看如下,蓝色为创建的符号链接:
可以创建一个 mk-arm-ln.sh 脚本,将命令全部放进去。
ln arm-none-linux-gnueabi-addr2line -s arm-linux-addr2line
ln arm-none-linux-gnueabi-ar -s arm-linux-ar
ln arm-none-linux-gnueabi-as -s arm-linux-as
ln arm-none-linux-gnueabi-c++ -s arm-linux-c++
ln arm-none-linux-gnueabi-c++filt -s arm-linux-c++filt
ln arm-none-linux-gnueabi-cpp -s arm-linux-cpp
ln arm-none-linux-gnueabi-g++ -s arm-linux-g++
ln arm-none-linux-gnueabi-gcc -s arm-linux-gcc
ln arm-none-linux-gnueabi-gcc-4.4.1 -s arm-linux-gcc-4.4.1
ln arm-none-linux-gnueabi-gcov -s arm-linux-gcov
ln arm-none-linux-gnueabi-gdb -s arm-linux-gdb
ln arm-none-linux-gnueabi-gdbtui -s arm-linux-gdbtui
ln arm-none-linux-gnueabi-gprof -s arm-linux-gprof
ln arm-none-linux-gnueabi-ld -s arm-linux-ld
ln arm-none-linux-gnueabi-nm -s arm-linux-nm
ln arm-none-linux-gnueabi-objcopy -s arm-linux-objcopy
ln arm-none-linux-gnueabi-objdump -s arm-linux-objdump
ln arm-none-linux-gnueabi-ranlib -s arm-linux-ranlib
ln arm-none-linux-gnueabi-readelf -s arm-linux-readelf
ln arm-none-linux-gnueabi-size -s arm-linux-size
ln arm-none-linux-gnueabi-sprite -s arm-linux-sprite
ln arm-none-linux-gnueabi-strings -s arm-linux-strings
ln arm-none-linux-gnueabi-strip -s arm-linux-strip
使用 source mk-arm-ln.sh 执行文件。
这篇关于设置交叉编译工具链的环境变量的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!