Qt在pro文件中配置條件編譯

Qt在pro文件中配置條件編譯

概述

該篇博客主要總結梳理Qt項目在pro文件中如何實現條件編譯。

通過定義宏

在pro文件中可以通過DEFINES定義宏變量,如下述代碼所示:

	DEFINES += TEST

當在pro文件中定義上述宏後,可以通過以下代碼判斷是否定義該宏:

	contains(DEFINES, TEST)
	{
	    message('-->>(DEFINES, TEST)')
	}
	else
	{
	    message('-->>(DEFINES, TEST) nothing')
	}

若在pro文件中添加上述代碼,編譯時在qt creator的應用程序輸出窗口中看到-->>(DEFINES, TEST。由此可以看出通過宏定義和contains可以實現條件編譯。如下述代碼所示:

	DEFINES += static
	 
	if(contains(DEFINES, static)) { #contains和{必須在同一行,否則報錯
		CONFIG += static
	}else{
		CONFIG += shared
	}

上述代碼中通過定義宏static,實現添加配置從而控制編譯靜態庫。

通過CONFIG配置

CONFIG 變量用於指定工程配置和編譯器選項,通常取debug,release,dll等值,也可以自定義選項值, CONFIG變量的每個選項都可以用於條件判斷。

	CONFIG += static
	
	static {
  		CONFIG += static
	} else {
  		CONFIG += shared
	}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章