Qt解读之qmake手册 推荐
2014-04-08 20:46
141 查看
日常开发工作中,制约项目进度的技术问题,多是基础知识不牢靠造成的,任何技术难题,都能分解成一个个的基础知识点。
使用Qt开发的项目中,很多人连工程文件都看不懂,更不用说写pro文件,如果开发中连这个工程文件都搞不定,编译无法进行,耽误项目的进度。本着解决这个问题,我们开始了对qmake的解读。
一.什么是qmake,以及它的用途
概念:qmake是一个简化编译程序的工具软件,适用于各个系统平台。
作用:生成makefile。根据pro文件,很少信息就能生成makefile.
用法:
使用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四.Qt引用第三方库的方法
LIBS += -L/usr/local/lib -lmath //链接第三方库 INCLUDEPATH = c:/msdev/include d:/stl/include //指定头文件位置五.工程配置参数config
CONFIG:指定工程配置和编译参数 以下对CONFIG变量做主要介绍: debug:编译有调试信息的可执行文件或则库 release:编译不具有调试信息可执行文件或者库(如果同时指定debug release时,只有debug有效) warn_off:关闭大量警告,默认是打开的 qt:指应用程序使用Qt dll:动态编译库 staticlib:静态编译库 plugin:编译一个插件 console:应用程序需要写控制台使用方法
CONFIG = qt release warn_off
相关文章推荐
- tmake and qmake 的区别 (转载)
- 用 cmake 构建Qt工程(对比qmake进行学习)
- Ubuntu 下 QT4 编译错误解决方法
- 配置qmake时出现qmake not executable的解决办法
- 10分钟学会使用qmake
- Qt安装之后出现qmake命令无法找到
- Jenkins build Qt project
- QMakeBuilder - Jenkins plugin for Qt
- 用qmake快速生成makefile
- Qmake 多文件编译 在项目中的使用
- qmake概念理解(二)
- qmake概念理解(一)
- QMAKESPEC理解与使用
- QT编写的程序从Windows操作系统中移植到树莓派中编译并运行
- 解决 Archlinux 下qmake后 make 找不到 QApplication
- qmake手册——变量CONFIG(未完待续)
- qmake 如何配置生成的object不在同一目录下
- qmake生成vcproj & sln
- Qt介绍2---.pro .pri .prf .prl文件
- Qmake