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