QT的项目管理文件pro的编写

QT中,有一个工具qmake可以生成一个makefile文件,它是由项目管理文件pro文件生成而来,pro文件的写法见下表。

qmake变量

说明

举例

#xxxx

注释, 从“#”开始,到这一行结束

#for windows

TEMPLATE

模块设置

TEMPLATE = app

app(生成应用程序)( 默认、常用)

lib(生成库文件)(常用)

vcapp -建立一个应用程序的VisualStudio项目文件

vclib -建立一个库的VisualStudio项目文件

subdirs(生成makefile文件编译subdirs指定的子文件夹)(不常用)

DESTDIR

指定生成的应用程序放置的目录(建议用相对目录)

DESTDIR += ../bin

TARGET

指定目标文件名(建议跟项目文件同名)

TARGET = filename

如果不设置该项目,目标名会被自动设置为跟项目文件一样的名称

CONFIG

配置信息

CONFIG+= qt warn_on release

编译器标志:

release - 应用程序将以release模式连编。如果“debug”被指定,它将被忽略。

debug - 应用程序将以debug模式连编。

warn_on - 编译器会输出尽可能多的警告信息。如果“warn_off”被指定,它将被忽略。

warn_off - 编译器会输出尽可能少的警告信息。

连编的库/应用程序的类型:

qt - 应用程序是一个Qt应用程序,并且Qt库将会被连接。

thread - 应用程序是一个多线程应用程序。

x11 - 应用程序是一个X11应用程序或库。

windows - 只用于“app”模板:应用程序是一个Windows下的窗口应用程序。

console - 只用于“app”模板:应用程序是一个Windows下的控制台应用程序。

dll - 只用于“lib”模板:库是一个共享库(dll)。

staticlib - 只用于“lib”模板:库是一个静态库。

plugin - 只用于“lib”模板:库是一个插件,这将会使dll选项生效。

QT

加入库模块

QT += xml

UI_DIR

指定uic命令将.ui文件转化成ui_*.h文件的存放的目录

UI_DIR += forms

RCC_DIR

指定rcc命令将.qrc文件转换成qrc_*.h文件的存放目录

RCC_DIR += ../tmp

INCLUDEPATH

头文件包含路径

INCLUDEPATH += .

HEADERS

指定头文件

HEADERS = hello.h

HEADERS += hello.h

SOURCES

指定源文件

SOURCES = *.cpp

对于多源文件,可用空格分开

SOURCES = 1.cpp 2.cpp 3.cpp

或者每一个文件可以被列在一个分开的行里面,通过反斜线另起一行

SOURCES = hello.cpp \
main.cpp

一个更冗长的方法是单独地列出每一个文件,就像这样

SOURCES += hello.cpp
SOURCES += main.cpp

FORMS

工程中包含的.ui设计文件

FORMS += forms/painter.ui

RESOURCES

工程中包含的资源文件

RESOURCES += qrc/painter.qrc

OBJECTS_DIR

指定目标文件(obj)的存放目录

OBJECTS_DIR += ../tmp

INTERFACES

添加界面文件(ui)

INTERFACES = filename.ui

MOC_DIR

指定moc命令将含Q_OBJECT的头文件转换成标准.h文件的存放目录

MOC_DIR += ../tmp

DEPENDPATH

程序编译时依赖的相关路径

DEPENDPATH += . forms include qrc sources

CODECFORSRC

源文件编码方式

CODECFORSRC = GBK

win32{…}
unix{…}

平台相关性处理

win32 {
SOURCES += hello_win.cpp
}

LANGUAGE

编程语言

LANGUAGE = C++

exists
!exists

!exists:如果一个文件不存在,停止qmake

!exists( main.cpp ) {
  error( "No main.cpp file found")
}

LIBS

LIBS += -L folderPath //引入的lib文件的路径-L:引入路径
LIBS += -lLibName //引入lib 文件-l : 引入库

LIBS += -L"$(OutDir)" \
-L"$(SolutionDir)lib" \
-lopengl32 \
-lglu32 \
-lObjectDbAPI \
-lGraphicsLibD

如下为一个典型的pro文件:

TEMPLATE = app

TARGET = pm

CONFIG += qt warn_on

win32:CONFIG += debug_and_release

QT += gui

QT += core

QT += xml

QT += network

QT += sql


INCLUDEPATH += ./include

INCLUDEPATH += ../svglib/include


INCLUDEPATH += ../../include/algebra

INCLUDEPATH += ../../include/nas

INCLUDEPATH += ../../include/planning

INCLUDEPATH += ../../include/vstability

INCLUDEPATH += ../../src_qt/cimxml/include


win32{

CONFIG(debug, debug|release) : LIBS += -L../../../lib -lsvglibd -lalgebrad -lnasd -lplanningd -lvstabilityd -lsvglibd -lcimxmld

CONFIG(release, debug|release) : LIBS += -L../../../lib -lsvglib -lalgebra -lnas -lplanning -lvstability -lsvglib -lcimxml

DESTDIR = ../../../bin

} else {

LIBS += -L../../../release/lib -lsvglib -lsvglib -lalgebra -lnas -lplanning -lvstability -lsvglib -lcimxml

DESTDIR = ../../../release/bin

}


OBJECTS_DIR = ../../../TEMP/pm

MOC_DIR = moc

UI_DIR = ui

RCC_DIR = rcc


#Header files

HEADERS += include/pm_managedialog.h

HEADERS += include/pm_table_base.h

 


#Source files

SOURCES += main.cpp

SOURCES += source/pm_managedialog.cpp

SOURCES += source/pm_table_base.cpp


#Forms

FORMS += ui/pm_managedialog.ui

FORMS += ui/pm_busbarsectiondialog.ui


#Resource file(s)

RESOURCES += pm.qrc


win32:RC_FILE = pm.rc

 

工程项目中如果头文件或者实现文件或者UI文件有变化,应修改对应的 HEADERSOURCESFORMS部分。

要从pro文件生成VC工程文件,需在d:\cimpower\src\src_qt4目录下执行如下命令:qmake -t vcapp -o ./pm/pm.vcproj ./pm/pm.pro

可以调用vcprojeditorVC工程文件进行处理,运行vcprojeditor程序修改VC工程文件,程序配置如下:

 QT的项目管理文件pro的编写

点击“批量修改”按钮,完成后退出即可。

QT的项目管理文件pro的编写

上一篇:SSIS高级转换任务—模糊分组


下一篇:APP测试-专项测试