您的位置:首页 > 编程语言 > Qt开发

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

2014-01-23 09:12 483 查看
在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            //指定为pm的目标文件

CONFIG += qt warn_on        //配置信息,应用程序是一个Qt应用程序,编译器会输出尽可能多的警告信息

win32:CONFIG
+= debug_and_release  //???

QT
+= gui              //加入gui库

QT
+= core              //加入QT的核心库

QT
+= xml               //加入xml库

QT
+= network             //加入network库

QT
+= sql               //加入sql库

INCLUDEPATH
+= ./include        //头文件包含路径

INCLUDEPATH
+= ../svglib/include

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

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

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

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

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

win32{              //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    //指定目标文件(.obj)的存放目录

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

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

RCC_DIR
= rcc           //指定rcc命令将.qrc文件转换成qrc_*.h文件的

#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          //工程中包含的.ui设计文件

FORMS
+= ui/pm_managedialog.ui

FORMS
+= ui/pm_busbarsectiondialog.ui

#Resource
file(s)       //工程中包含的资源文件

RESOURCES
+= pm.qrc

win32:RC_FILE
= pm.rc

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

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

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



点击“批量修改”按钮,完成后退出即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: