Qt creator中项目的构建配置和运行设置

一.构建

影子构建(Shadow build)

Qt Creator 默认使用影子构建方式(Shadow build),这种构建项目的方式是将构建过程中的中间文件和目标程序都放到独立的构建目录中,实现源代码目录和构建目录的彻底分离,这对程序源代码的发布很方便,不会将构建过程中的中间文件混杂进来。

对于项目 HelloWorld ,它的源代码路径是 D:\QtDemo\HelloWorld,而影子构建的目录是在D:\QtDemo\build-HelloWorld-Desktop_Qt_5_9_0_MinGW_32bit-Debug,源码文件夹和构建文件夹都在父文件夹 QtDemo 里。

影子构建目录的命名规则是:build-项目名-构建套件名-构建类型 。示范的项目名 HelloWorld,套件名 Desktop Qt 5.9.0 MinGW 32bit,构建类型为 Debug,合成之后的构建目录里不能带空格和点号,所以把空格和点号都换成下划线,得到 build-HelloWorld-Desktop_Qt_5_9_0_MinGW_32bit-Debug 。项目构建时生成的中间文件和最终的目标程序都可以在影子构建目录里找到。

构建步骤

pro 文件已经由 Qt Creator 生成好了,编译程序只需要:
①用 qmake 生成 Makefile 到构建目录;
②在构建目录里面执行 make (mingw32-make) 。

二.运行

执行档

生成的 exe 文件为 D:\QtDemo\build-HelloWorld-Desktop_Qt_5_9_0_MinGW_32bit-Debug\debug\HelloWorld.exe,如果进入该路径,直接运行 exe 文件,那么 exe 文件默认是无法正常运行的,因为缺少运行时依赖的动态库和环境变量。需要从开始菜单启动 Qt 命令行,然后从命令行启动 exe 才能正常运行。

Command line arguments

目标程序的命令行参数,可以在这里手动添加命令行参数,这样每次 Qt Creator 启动目标程序时都会附加该参数。

工作目录

目标程序既不是从源代码路径启动,也不是从它自己的可执行程序路径启动, 而是从工作路径启动,这个工作路径默认与影子构建路径一样。

环境变量

PATH 环境变量就是大量可执行程序 *.exe 和依赖库 *.dll 的路径,程序启动时会从 PATH 环境变量找寻依赖的 dll 并加载。Qt 也为 PATH 添加了自己的依赖库路径,新增的有三个路径:

D:\Qt\5.9\mingw53_32\lib;
D:\Qt\5.9\mingw53_32\bin;
D:\Qt\Tools\mingw530_32\bin;

第一个是编译时依赖库的路径,第二个是 Qt 库自己可执行程序和动态库路径,第三个是 MinGW 编译环境的可执行程序和动态库路径。

QTDIR 是 Qt 库的总目录,Qt 程序根据这个总目录自动去找寻子文件夹,子文件夹会包含 Qt 程序运行时依赖的其他东西。QTIDR 通常就是 qmake.exe 所在文件夹的父文件夹,比如 qmake.exe 位于 D:\Qt\5.9\mingw53_32\bin,那么 QTDIR 就是 D:\Qt\5.9\mingw53_32 。

三.其他

项目(.pro)文件

一个项目文件是用来告诉qmake关于为这个应用程序创建makefile所需要的细节。例如,一个源文件和头文件的列表、任何应用程序特定配置、例如一个必需要连接的额外库、或者一个额外的包含路径,都应该放到项目文件中。

qmake

qmake 是 Qt 提供的一个编译工具,他可以生成与平台无关的 .pro 文件,然后利用该文件生产与平台相关的 Makefile 文件。换言之,qmake 可以根据实际环境创建项目文件.pro 并且运行qmake生成适当的Makefile。

Makefile

Makefile 文件中包含了要创建的目标文件或可执行文件、创建目标文件所依赖的文件和创建每个目标文件时需要运行的命令等信息。最后使用 mingw32-make 工具来完成自动编译(命令行编译的情况),mingw32-make 就是通过读入 Makefile文件 的内容来执行编译工作的。使用 mingw32-make 命令时会为每一个源文件生成一个对应的 .o 目标文件,最后将这些目标文件进行链接来生成最终的可执行文件。

构建

构建是增量编译,只编译有变化部分

重新构建

是把所有部分都重新编译运行
有改动则根据已有的Makefile进行编译,执行构建和重新构建时如果没有Makefile,会根据.pro文件等生成Makefile后再编译。

### 如何在 Qt Creator设置项目构建配置 #### 配置概述 Qt Creator 提供了一个直观的界面来管理项目构建运行配置。通过 Projects 模块中的 **Build & Run** 设置,可以定义不同的构建模式(如 Debug Release),并指定编译器、工具链以及构建步骤。 #### 主要操作流程说明 1. 打开 Qt Creator 后,在左侧导航栏找到 **Projects** 图标[^3]。 2. 在 Projects 页面下切换到 **Build Settings** 或者 **Run Settings** 选项卡。 3. 对于构建配置部分,可以通过调整以下参数实现定制化需求: - #### 编译模式选择 可以为项目创建多个构建套件 (Kit),分别对应不同平台下的调试(Debug)或发布(Release)版本。通常情况下,默认会提供两种预设:Debug Release。 如果需要自定义新的构建配置,则点击左上角加号按钮新增一个配置项,并为其命名以便区分用途。 - #### 自定义构建步骤 在 `Build Steps` 下拉菜单中可以看到当前所选目标对应的全部执行动作列表。对于 qmake/QMake-based 工程而言,默认包含两项基本指令:“qmake”用于生成 Makefile 文件;“Make”负责依据该文件完成实际编译链接过程。 用户还可以手动添加额外命令至队列末端以满足特定场景的需求。例如部署资源文件或者调用外部脚本来处理某些特殊任务前后的准备工作等。 - #### 调整环境变量 若应用程序依赖第三方库或者其他系统级组件时,可能还需要修改关联路径等相关属性值。这一步骤同样可以在同一页面底部区域找到相应控件进行编辑输入。 #### 示例代码展示 以下是简单的 C++ Hello World 程序及其 .pro 文件内容作为参考实例: ```cpp #include <QCoreApplication> #include <QDebug> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); qDebug() << "Hello World!"; return a.exec(); } ``` `.pro` 文件如下所示: ```plaintext QT += core CONFIG += console c++11 TARGET = hello_world_app TEMPLATE = app SOURCES += \ main.cpp ``` 以上即为整个工程结构的基础组成部分之一[^1]。 #### 注意事项提示 当涉及跨平台移植工作时,请务必确认所有相关联动态共享对象(.so/.dll)均已正确放置在同一目录之下,否则可能导致加载失败错误发生。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值