标签:def 大小 deb make windows系统 blank html get project
#ifdef 标识符 程序段1 #else 程序段2 #endif
举例说明如下:
//Windows系统包含头文件名不区分大小写,但是Linux系统包含头文件名区分大小写,故采用条件编译 #ifdef unix #include "mainwindow.h" #else #include "MainWindow.h" #endif
DEFINES +=unix
方法2:
在使用iar,keil写单片机时,都可以先#define一个变量,然后根据变量的不同值编译不同的代码
在Qt里也可以这样,针对嵌入式的程序,一般是会在X86上编译,Debug,然后再部署到ARM去跑,这样,X86与ARM之间,可能就会有一些差异,如不同的平台,调用不同的库,这样就可以先#define一个变量,再根据变量去自动包含需要编译的东西。
首先在Project settings里增加build 参数DEFINES:如我增加专门针对ARM板上跑的参数DEFINES+=ARM
在源文件里就可以直接使用条件判断 #ifdef ARM // arm use only QWSServer::setCursorVisible(false); #endif 在pro文件里也可以使用: if(contains(DEFINES,ARM)){ message("compile for arm") LIBS += -L../armlib -lfpp }else{ message("compile for x86") LIBS += -L../x86lib -lfpp }
参考链接:
3、qt条件编译debug和release版本--qmake之CONFIG(debug, debug|release)
Qt Creator中根据为Windows系统还是Linux系统对源码进行条件编译
标签:def 大小 deb make windows系统 blank html get project
原文地址:https://www.cnblogs.com/rainbow70626/p/10300052.html