在使用iar,keil写单片机时,均可以先#define一个变量,而后根据变量的不一样值编译不一样的代码ui
在Qt里也能够这样,针对嵌入式的程序,通常是会在X86上编译,Debug,而后再部署到ARM去跑,这样,X86与ARM之间,可能就会有一些差别,如不一样的平台,调用不一样的库,这样就能够先#define一个变量,再根据变量去自动包含须要编译的东西。3d
首先在Project settings里增长build 参数DEFINES:如我增长专门针对ARM板上跑的参数DEFINES+=ARMblog
在源文件里就能够直接使用条件判断部署
#ifdef ARM
// arm use only
QWSServer::setCursorVisible(false);
#endifget
在pro文件里也能够使用:it
if(contains(DEFINES,ARM)){
message("compile for arm")
LIBS += -L../armlib -lfpp
}else{
message("compile for x86")
LIBS += -L../x86lib -lfpp
}编译