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