Qt 根据不一样平台的条件编译

在使用iar,keil写单片机时,均可以先#define一个变量,而后根据变量的不一样值编译不一样的代码ui

在Qt里也能够这样,针对嵌入式的程序,通常是会在X86上编译,Debug,而后再部署到ARM去跑,这样,X86与ARM之间,可能就会有一些差别,如不一样的平台,调用不一样的库,这样就能够先#define一个变量,再根据变量去自动包含须要编译的东西。3d

首先在Project settings里增长build 参数DEFINES:如我增长专门针对ARM板上跑的参数DEFINES+=ARMblog

image

在源文件里就能够直接使用条件判断部署

#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
}编译

相关文章
相关标签/搜索