使用Qt开发的项目中,很多人连工程文件都看不懂,更不用说写pro文件,如果开发中连这个工程文件都搞不定,编译无法进行,耽误项目的进度。本着解决这个问题,我们开始了对qmake的解读。
一.什么是qmake,以及它的用途
概念:qmake是一个简化编译程序的工具软件,适用于各个系统平台。
作用:生成makefile,根据pro文件,很少信息就能生成makefile.
用法:
qmake -o Makefile hello.pro //生成hello.pro工程的makefile
二.qmake基本用法举例
CONFIG += debug //编写调试版的程序 HEADERS += hello.h //把头文件包含进工程文件 SOURCES += hello.cpp //把代码文件编写进工程文件 SOURCES += main.cpp //针对不同的平台使用不同的文件 //解决不同平台下的差异性 win32 { SOURCES += hellowin.cpp } unix { SOURCES += hellounix.cpp } //若有文件不存在,报错,如下main.cpp不存在 !exists( main.cpp ) { error( "No main.cpp file found" ) } //使用控制台输出调试信息 win32:debug { CONFIG += console }
三.解读工程文件中的标签
第一种常用方式: #模块设置,一般设置为app(生成应用程序,默认), #subdirs(生成makefile文件编译subdirs指定的子文件夹) #lib(生成库文件) TEMPLATE = app #指定生成的应用程序放置的目录 DESTDIR += ../bin #指定生成的应用程序名 TARGET = pksystem #添加或减少CONFIG的配置模块,一般采用默认即可,但是除去debug_and_release模块不会生成debug和release文件夹 #CONFIG += release CONFIG -= debug_and_release #指定uic命令将.ui文件转化成ui_*.h文件的存放的目录 UI_DIR += forms #指定rcc命令将.qrc文件转换成qrc_*.h文件的存放目录 RCC_DIR += ../tmp #指定moc命令将含Q_OBJECT的头文件转换成标准.h文件的存放目录 MOC_DIR += ../tmp #指定目标文件的存放目录 OBJECTS_DIR += ../tmp #程序编译时依赖的相关路径 DEPENDPATH += . forms include qrc sources #头文件包含路径 INCLUDEPATH += . #qmake时产生的信息,$${a}读取变量a的字符串,$$(PATH)读取环境变量PATH #message($$(PATH)) #源文件编码方式 CODECFORSRC = GBK # Input #工程中包含的头文件 HEADERS += include/painter.h #工程中包含的.ui设计文件 FORMS += forms/painter.ui #工程中包含的源文件 SOURCES += sources/main.cpp sources/painter.cpp #工程中包含的资源文件 RESOURCES += qrc/painter.qrc 第二种常用方式,用于子文件夹的编译: #设定模块为子文件夹编译方式 TEMPLATE = subdirs #子文件夹目录,可用\换行 SUBDIRS = src1 src2
未完待续
本文出自 “LinuxQt济南高新区” 博客,请务必保留此出处http://qtlinux.blog.51cto.com/3052744/1392458
原文:http://qtlinux.blog.51cto.com/3052744/1392458