目录
当很多外部库文件的时候并要添加到工程中时,使用pri文件可以更加的方便。项目庞大的时候,也可以使用pri文件,可以更好的模块化处理。
步骤
1.在项目路径下创建文件夹
2.common文件夹下创建pri文件
3. 在pro文件中输入,include必须是小写,之后comm文件夹会自动导入到工程中
4.在common文件新建文件
关键字
1、include 在pro中引入pri文件 例如: include ($$PWD/dialog/dialog.pri)
2、unix/win32 用来定义在不同平台下构建项目时的配置项分支 例如:win32 | win64 {} 、unix{}
3、DEFINES 在pri中定义宏 使用这个定义之后,可以在源代码中使用 DEFINES = arm _unix 源代码中使用:
#ifdef arm_unix //代码 #endif
4、CONFIG 项目的配置参数 CONFIG常用的选项有: CONFIG += console qt debug release thread warn_on 指定生成debug模式还是release模式,也可以都生成
CONFIG += debug_and_release CONFIG(debug, debug|release) { DESTDIR = $$PWD/../bin/Debug/ } else { DESTDIR = $$PWD/../bin/Release/ }
(1)console表示本项目是命令行程序,在启动本项目的目标程序时会启动一个终端(命令行)。
(2)qt表示本项目要加载Qt的库,链接时要链接Qt的类库。
(3)debug和release分别表示将项目构建成Debug版本还是Release版本。
(4)thread表示程序是否启用多线程。如果没有thread选项,项目将无法使用多线程。
(5)warn_on表示是否显示编译警告。因为有些编译警告还是很重要的,所以建议开启该配置项。如果不关注或者不处理编译警告,也有可能导致程序运行时异常。
Qt5支持c++11:pro文件添加:
CONFIG += C++11
Qt4:QMAKE_CXXFLAGS += -std=c++0x
5、QMAKE_CXXFLAGS 配置编译标志
6、函数 pri中提供的常用函数
例如:
contains(x, y){} else {} :用来判断一个变量x是否包含字符串y 。如果不包含则执行else的语句
equals(a, b) { }。 用来判断某个变量的值是否与指定值相等
7、变量 在pri中定义与使用变量
变量语法: $$变量名
通过在其它任何一个变量的变量名前加$$来把这个变量的值分配给当前的变量
如:MY_DEFINES= $$DEFINE ,将DEFINE的值分配给MY_DEFINES
8、环境变量 在pri中使用环境变量
环境变量语法: $$(环境变量名)