徐红伟@百香果科技
.pro文件是对整个工程的配置,例如工程里包含哪些文件,路径是什么;以来哪些库,路径是什么;使用了Qt的哪些组件,等等。
关键字的含义
QT
指定工程中使用的Qt的模块。默认情况下会使用Qt 的core和gui模块。
QT += core gui
TARGET
指定所生成.exe或.dll文件的名字。
下面的例子会生成"FiberMgr.exe” 文件。
TARGET = FiberMgr
TEMPLATE = app
DEFINES
qmake添加该字段指定的全局宏定义。VS中也有类似的全局宏定义,在.dll工程中经常用到,来指定是 dllexport 还是 dllimport .
DEFINES += FUNDLL_LIBRARY
在头文件中使用上述宏定义:
#if defined(FUNDLL_LIBRARY)
# define FUNDLLSHARED_EXPORT __declspec(dllexport)
#else
# define FUNDLLSHARED_EXPORT __declspec(dllimport)
#endif
SOURCES
工程中使用的所有源文件的名字(不包含路径)。
SOURCES += \
main.cpp \
dialog.cpp
HEADERS
工程中使用的所有头文件的名字(不包含路径)。
HEADERS += \
dialog.h
FORMS
列出工程中使用的UI文件(xml格式),这些文件会在编译之前被 uic(User Interface Compile,UI编译器) 处理。构建UI文件是所需的依赖项、头文件、源文件等都会自动被添加到工程中。
UIC会把 .ui(xml格式)文件转换成C++的 .h 文件(通常叫Ui_dialog.h)。其实是在.h文件里定义一个类,里面包含了UI文件中的所以元素/对象。
FORMS = mydialog.ui \
mywidget.ui \
myconfig.ui
INCLUDEPATH
列出工程中 #include 项需要搜索的路径,即头文件的路径。
多个路径用空格隔开。
如果路径本身包含空格,则需要用双引号引起来。
INCLUDEPATH = c:/msdev/include d:/stl/include
win32:INCLUDEPATH += "C:/mylibs/extra headers"
DEPENDPATH
列出依赖项所在的路径。当处理included文件时会使用该项。
个人感觉它就是INCLUDEPATH.
INCLUDEPATH += $$PWD/../mydll
DEPENDPATH += $$PWD/../mydll
PWD
表示当前.pro文件所在的路径。
INCLUDEPATH += $$PWD/../mydll
OUT_PWD
表示输出的“Makefile”所在的路径(通常在编译后生成的.exe文件的上层目录里)。
LIBS += -L$$OUT_PWD/../funDll/ -lfunDll
LIBS
指定工程里需要链接的库文件(.lib或.dll)。
通常用Unix风格,大写的L表示“路径”,小写的l表示“库文件名字”。如
unix:LIBS += -L/usr/local/lib -lmath
win32:LIBS += c:/mylibs/math.lib
网友评论