QT 指定程序编译生成文件的位置

本文详细介绍了Qt项目构建中MOC、RCC、OBJECTS_DIR和UI_DIR的作用,以及如何在pro文件中指定生成文件位置,通过qmake进行编译,生成包括moc、obj、rcc和ui文件的中间产物。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、基础知识

1、MOC_DIR +=:moc文件存放的位置

在项目构建过程中,如果包含的有QObject派生类、Q_OBJECT宏等元对象相关的代码,moc.exe会对这些文件进行处理,输出一个新的C++源代码文件,其中包含清单QObject类和元对象的所有信息,生成的文件一般以.moc为后缀。

2、RCC_DIR +=:资源文件编译后存放的位置。

在项目构建过程中,资源文件通过rcc.exe处理后,生成后缀为.cpp的文件。为什么要这样处理呢?因为资源文件并不能被C++编译器所识别,rcc.exe是Qt工具链中的一个工具,用于将资源文件编译为用于访问这些资源的C++代码,它会将资源文件转换为一个.cpp文件,其中包含了资源数据的定义和访问函数。这个生成的.cpp文件可以在应用程序的构建过程中被编译,生成一个二进制的.o目标文件,并最终链接到应用程序中。

3、OBJECTS_DIR +=:存放编译中间产物(object文件)的目录

生成编译中间产物的过程是通过多个工具和可执行文件完成的,其中包括编译器(gcc、clang等)和链接器(MSVC、Id等),但没有一个特定.exe在全部过程中负责处理。生成编译中间产物的过程是为了将源代码转化为可执行文件或库文件。这个过程涉及编译源代码、处理元对象代码以及链接生成的目标文件和库文件,最终生成可以在计算机上运行的可执行文件或库文件。

4、UI_DIR +=:UI文件编译后存放的位置

在项目构建过程中,ui文件通过uic.exe处理后,生成后缀为.h或.cpp的文件。理由同上面一样,因为C++编译器并不能识别QT的ui文件,所有要通过uic工具解析用户界面文件,生成对应的C++文件。

 二、具体案例

1、在pro文件里面编写生成文件的位置

2、执行qmake

3、进行构建,构建完成后,中间文件都已经生成了

(1)moc文件夹

(2)obj文件夹

(3)rcc文件夹

 (4)ui文件夹

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值