在Qt当中pro
文件则是统筹整个项目的重要文件,而pri
文件则是类似于C、C++中的头文件,反正就是我们可以把.pro
文件内的一部分单独放到一个.pri
文件内,然后包含进来,可以供给其他工程使用,现在简单介绍下语法
说在前面
在Qt的pro
文件中换行是用\
符号实现,在下列的语法中,若想要添加多个参数,用空格隔开或用\
换行实现
eg.
QT += core gui
或
QT += core \
gui
注释
从#
开始,到此行结束
模板
模板变量告诉qmake生成文件的类型等
TEMPLATE = app
具体参数如下:
app
:生成应用程序,即可执行文件
lib
:生成库文件
PS:只添加TEMPLATE = lib
则生成动态库,若想生成静态库,则需要再添加多一条语句,详情如下:TEMPLATE = lib CONFIG += staticlib
指定生成的应用程序名
TARGET = pksystem
注:不需后缀,生成工程后会自动添加后缀配置信息
CONFIG += qt warn_on release
在这里使用“+=”,是因为我们添加需要的配置选项到原有的配置选项中,这样做比使用“=”那样替换已经指定的所有选项是更安全的源文件编码方式
CODECFORSRC = GBK
各种命令
uic命令
UI_DIR += forms
将.ui文件转化成ui_*.h文件的存放的目录rcc命令
RCC_DIR += ../tmp
将.qrc文件转换成qrc_*.h文件的存放目录moc命令
MOC_DIR += ../tmp
将含Q_OBJECT的头文件转换成标准.h文件的存放目录
添加路径
目标文件的存放位置
OBJECTS_DIR += ../tmp
指定目标文件(obj)的存放目录程序依赖路径
DEPENDPATH += . forms include qrc sources
程序编译时依赖的相关路径头文件包含路径
INCLUDEPATH += .
工程中包含的头文件
HEADERS += include/painter.h
工程中包含的.ui设计文件
FORMS += forms/painter.ui
工程中包含的源文件
SOURCES += sources/main.cpp sources/painter.cpp
工程中包含的资源文件
RESOURCES += qrc/painter.qrc
添加Qt内置库
语法:QT +=
添加Qt中相应的库即可
QT += core gui
或
QT += core \
gui
另外,若不需要用到QT的界面,也可以写成如下形式:
QT -= gui
添加则用+
,不用的或删除的则用-
添加外部库
引入lib文件
LIBS += -L folderPath
-L
表示引入路径
eg.Release:LIBS += -L folderPath // release 版引入的 lib文件路径 Debug:LIBS += -L folderPath // Debug 版引入的lib 文 件路径
定义编译选项
DEFINES += XX_XX_XXX
添加了这个后在.h
文件中就可以使用#ifdef XX_XX_XXX
添加资源文件
RC_FILE = xxx.icns
平台相关性处理
我们在这里需要做的是根据qmake所运行的平台来使用相应的作用域来进行处理。为Windows平台添加的依赖平台的文件的简单的作用域看起来就像这样:
win32
{
SOURCES += hello_win.cpp
}
当你已经创建好你的项目文件,生成Makefile就很容易了,你所要做的就是先到你所生成的项目文件那里然后输入:
Makefile可以像这样由“.pro”文件生成:
qmake -oMakefile hello.pro
对于VisualStudio的用户,qmake也可以生成“.dsp”文件,例如:
qmake -tvcapp -o hello.dsp hello.pro
关于第三方工程引用当前工程头文件的处理
pri
文件的语法与pro
的语法类似,但pri
文件是专门用于给第三方工程引入头文件或资源文件的
具体写法:
此时则需要在当前工程的pro
文件中加入include(path_to_third_project.pri)
,注意include
括号中的必须是pri
文件,而在第三方工程中的pri
文件则只需写上INCLUDEPATH += $$PWD
即可,$$PWD
表示该工程的当前目录
另一种引入第三方工程头文件的处理的方法
添加库文件
在当前工程中添加内部库,在
INCLUDEPATH
中填写包含的头文件,在DEPENDPATH
中添加依赖库的依赖路径添加其他文件
直接在INCLUDEPATH
中添加第三方工程头文件的相对路径即可
PS:记得合理运用$$PWD