QT的项目管理文件pro的编写
2014-01-23 09:12
483 查看
在QT中,有一个工具qmake可以生成一个makefile文件,它是由项目管理文件pro文件生成而来,pro文件的写法见下表。
如下为一个典型的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工程文件,程序配置如下:
点击“批量修改”按钮,完成后退出即可。
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 |
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工程文件,程序配置如下:
点击“批量修改”按钮,完成后退出即可。
相关文章推荐
- Qt学习--关于Qt项目中.pro文件解析
- Qt程序设计——实现以项目管理文件的功能:创建和打开项目
- Qt .pro 工程文件转 VC .vcproj项目文件
- QT跨目录编译及多工程集成(动态库的创建、引用及工程间相互依赖关系的pro文件编写方法)
- 05.如何编写自己的h文件和c文件,并按项目管理多个源文件-Make
- QT跨目录编译及多工程集成(动态库的创建、引用及工程间相互依赖关系的pro文件编写方法)
- 如何由.c或.cpp文件建立 与Qt相关的不同IDE平台的项目文件(.pro 和 .vcproj)和 中间文件夹 放置Generated Files
- QT中的pro文件的编写
- Qt在pro中管理多个子项目(子工程)
- 如何由.c或.cpp文件建立 与Qt相关的不同IDE平台的项目文件(.pro 和 .vcproj)和 中间文件夹 放置Generated Files
- QT的 .pro项目文件写法
- Qt修炼手册3_VS建立的Qt工程(或项目)生成pro文件
- QT--项目文件的编写方法和qmake的使用
- QT中的pro文件的编写
- 如何由.c或.cpp文件建立 与Qt相关的不同IDE平台的项目文件(.pro 和 .vcproj)和 中间文件夹 放置Generated Files
- QT的pro文件编写
- QT中的pro文件的编写
- QT中的pro文件的编写 (转)
- QT 开源项目由源码生成Pro项目文件
- qt中pro文件编写