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
}編譯

相關文章
相關標籤/搜索