1、pro中使用DEFINES来实现条件编译
在Qt的pro文件中使用DEFINES 来实现类似gcc -D的条件编译功能。
如,在pro中:
1 #定义条件编译宏LAOER 2 DEFINES += LAOER 3 #依赖编译宏LAOER的编译选项: 4 contains(DEFINES, LAOER){ 5 message(hello Laoer) 6 } 7 #与编译宏LAOER冲突的编译选项: 8 !contains(DEFINES, LAOER){ 9 message(hello Laoda) 10 }
2、 在生成的makefile中,可以看到编译宏
1 DEFINES = ... -DLAOER ... 2 CXXFLAGS = ... $(DEFINES) ... 3 ... 4 $(CXX) -c $(CXXFLAGS) ...
3、在源码中使用编译宏
可以使用ifndef、ifdef条件编译
1 #ifndef LAOER 2 ... 3 #endif
4
5 #ifdef LAOER 6 ... 7 #endif