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