Linux交叉编译环境里有很多g++,每一个交叉编译环境都有一个gcc g++
这个时候通过执行创建环境变量的脚本来设置当前使用的交叉编译环境(中的g++)
查看当前交叉编译环境source语句创建了哪些环境变量:
# env
这时候可以看到导出的g++被重新导出为一个环境变量:
CXX=a***********-linux-g++ --sysroot=/usr/loca******************linux
在命令行调用导出的CXX:
# $CXX main.cpp -o main.exe
即可编译。
但是如果用这个CXX编译一些工程,比如makefile,就需要让makefile知道用这个CXX。
标准化的makefile文件里都会抽象一层,让你指定具体的g++,这时候你根据makefile里的格式按照导出环境变量填空就行了。让makefile里最终使用的正好是交叉编译环境导出的g++即可。
一般交叉编译环境为了这样的场景,都会导出各种恰当的环境变量给你填空用。非常人性化。
这时候需要注意的是makefile里的环境变量引用需要$(var),而shell里命令行使用环境变量是$var。
上图中左侧是makefile工程给你留下的填空题,右侧是你的交叉编译环境导出的环境变量填到makefile之后的效果。
一旦填空完毕,直接在 makefile文件所在地目录输入make编译即可:
# make