从决定去做得那一刻起,持续积累,一定会有意想不到的惊喜发生!
文章目录
Qt Creator 工程管理
Qt Creator 以工程项目的方式对源码进行管理
一个 Qt Creator 工程包含不同类型的文件
- .pro 项目描述文件
- .pro.user 用户配置描述文件
- .h 头文件
- .cpp 源文件
- .ui 界面描述文件
- 资源文件( 图片,音频,等)
.pro 项目描述文件
.pro 项目描述文件的基本构成
- # ------ 注释起始符
- QT ------ 模块声明
- TARGET ------- 可执行文件名
- TEMPLATE ------ 程序模板声明(指明要生成什么样的目标文件)
- SOURCES ------ 源文件声明
- HEADERS ------ 头文件声明
- FORMS ------ 界面文件声明
- RC_FILE ------ 资源文件声明
.pro 项目描述文件中的高级变量
- INCLUDEPATH ------ 头文件搜索路径
- CONFIG ------ 设定项目的配置信息和编译选项
- LIBS ------ 添加第三方库文件
- DEFINES ------ 定义编译宏
CONFIG配置
CONFIG 用于设定项目的配置信息和编译选项
CONFIG 的常用选项
- debug ------ 构建debug 版本的可执行程序
- release ------ 构建 release 版本的可执行程序
- debug_and_release ------ 同时构建两个版本
- warn_on ------ 尽可能的输出警告信息
- warn_off ------ 不输出警告信息
- 注: .pro 文件的本质为 Qt 中的 Makefile 文件
.pro 文件的本质
.pro 文件----qmake----Makefile for Windows/linux/Mac OS
// .pro 文件不能指导编译器进行项目编译,只是做了一个中间层的转换
// .pro 文件通过qmake这个QT平台提供的命令行工具之后生成具体平台上的Makefile文件
// 例: 同一个 .pro 文件通过不同平台的qmake就能生成不同平台的Makefile文件,
// 之后在不同平台下调用当前平台的,C++编译器就可以编译生成当前的可执行程序
// 这便是Qt跨平台开发的原理
// Qt 用于屏蔽不同平台操作系统一些细节上的差异,提供统一的平台给开发者,开发者在统一的平台上编写的代码就可以编译到不同的平台上去
// 屏蔽的手段就是提供一些抽象的文件,比如 .pro 文件就是抽象的 Makefile 文件
实例分析
.pro 项目文件分析
#-------------------------------------------------
#
# Name: Qt Creator Project Demo
# Author:Delphi Tang
# Date: 2015-08-24
#
#-------------------------------------------------
QT += core gui
# 使用版本如果大于4,还需使用widgets模块
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = HelloWorld
TEMPLATE = app
INCLUDEPATH += E:/BCC/include \
E:/VC/include
SOURCES += Main.cpp \
HelloWorld.cpp
HEADERS += HelloWorld.h
FORMS += HelloWorld.ui
RC_FILE += MyIco.rc
LIBS += -LE:/vlc-1.11/sdk/lib
CONFIG += warn_on debug
#
# if 'debug' option is set for CONFIG
#
# 测试 CONFIG 中是否设置 debug
CONFIG(debug) {
DEFINES += DEBUG_LOG
SOURCES += DebugLog.cpp
HEADERS += DebugLog.h
}
项目文件
一般来说,项目文件中的描述都使用相对路径
而相对路径是相对于项目文件本身而言
QT Creator 将项目文件作为目标文件
注意:
注意:
QT Creator 在打开项目文件的同事会生成 .pro.user 文件
.pro.user 文件包含一些与Qt相关的本地配置信息
当需要在不同计算机之间移动项目源码时,建议删除 .pro.user 文件
为什么需要这样做?
因为有可能需要将整个项目从Linux上移到Windows上接着开发,所以说有必要用另一个文件来记录本机的信息,而本机的信息对开发者又必须是隐蔽的,Qt为了屏蔽不同平台的差异
工程中的概念
构建( build ) (对很多文件编译时,一般都说构建)
- 对项目中的所有文件进行编译,最终生成可执行程序
Debug版
- 可以进行程序调试的构建版本
- 可执行程序中包含调试信息,运行效率不高
Release版
- 最终发布的应用程序构建版本
- 无调试信息,运行效率高
工程经验:
大多数情况下基于Debug配置信息开发,但是有必要进行阶段性 Release版构建,
有的时候在Debug版调试通过,但是在 Release版调试就有bug,
这种bug不好调试,还无法打断点,因为切换到Debug版时,bug又不存在了,,,
所以开发中,有必要进行阶段性 Release版构建
总结:
Qt Creator 以工程项目的方式对源码进行管理
一个 Qt Creator 工程包含不同类型的文件
.pro 文件用于配置和组织整个项目的相关信息
.pro 文件是 Qt中与平台无关的 Makefile 文件
Qt Creator 提供了开发所必备的快捷高效功能
感谢关注,文章持续高速更新中……