QT 第5篇 Qt Creator 工程介绍

从决定去做得那一刻起,持续积累,一定会有意想不到的惊喜发生!

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 提供了开发所必备的快捷高效功能

感谢关注,文章持续高速更新中……

猜你喜欢

转载自blog.csdn.net/dashuu/article/details/113661753