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
	}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章