根据编译工具链的不同,编译出不同平台的代码。
1、从系统变量QMAKE_CXX获取编译器信息
COMPILER = $$QMAKE_CXX
编译器参数为
Project MESSAGE: compiler: arm-poky-linux-gnueabi-g++ -march=armv7-a -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a9 --sysroot=/opt/fsl-imx-fb/4.9.88-2.0.0/sysroots/cortexa9hf-neon-poky-linux-gnueabi
2、将编译器参数分割成几部分
SECTIONS = $$split(COMPILER)
结果如下:
Project MESSAGE: arm-poky-linux-gnueabi-g++
Project MESSAGE: -march=armv7-a
Project MESSAGE: -mfpu=neon
Project MESSAGE: -mfloat-abi=hard
Project MESSAGE: -mcpu=cortex-a9
3、判断每个小项中是否包含指定的字符串
for(item, SECTIONS) {
contains(item, "arm-poky-linux-gnueabi-g++") {
message("use compiler: arm-poky-linux-gnueabi-g++")
#其它操作
}
}
运行结果
Project MESSAGE: use compiler: arm-poky-linux-gnueabi-g++