当前位置: 首页 > news >正文

Qt Creator中的项目栏

shadow build: 

[基础]Qt Creator 的 Shadow build(影子构建)-CSDN博客

影子构建:将源码路径和构建路径分开(生成的makefile文件和其他产物都不放到源码路径),以此来保证源码路径的清洁。

实验1: 

我创建了两个项目:test和test1

不勾选的话:(test)

勾选的话:(test1)

观察生成的文件结构之间的区别:

test:

 test1:

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

QT 指定程序编译生成文件的位置_qt生成文件到指定路径-CSDN博客

基础知识:
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,ld等),但没有一个特点.exe在全部过程中负责处理。生成编译中间产物的过程是为了将源代码转化为可执行文件或库文件。这个过程涉及编译源代码,处理元对象代码以及链接生成的目标文件和库文件,最终生成可以在计算机上运行的可执行文件或库文件。

 

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

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

 具体案例:

# 指定构建目录位置CONFIG(debug , debug | release){DESTDIR += $$PWD/bin/Debug
}else{DESTDIR += $$PWD/bin/Release
}OBJECTS_DIR += $$DESTDIR/obj
MOC_DIR += $$DESTDIR/moc
RCC_DIR += $$DESTDIR/rcc
UI_DIR += $$DESTDIR/ui

这里的$$PWD,即当前目录,即.pro所在的目录 

http://www.lryc.cn/news/469713.html

相关文章:

  • keepalived+web 实现双机热备
  • 关于python的import
  • 帕金森后期吞咽困难:破解难题,重拾生活美味!
  • android 添加USB网卡并配置DNS
  • 【面试经典150】day 8
  • Python -- 网络爬虫
  • 【英特尔IA-32架构软件开发者开发手册第3卷:系统编程指南】2001年版翻译,2-5
  • 设计模式4 适配器 (adapter)
  • 《分布式机器学习模式》:解锁分布式ML的实战宝典
  • 【项目实战】HuggingFace初步实战,使用HF做一些小型任务
  • 堆的应用——堆排序和TOP-K问题
  • 探秘 MySQL 数据类型的艺术:性能与存储的精妙平衡
  • 使用任意绘图软件自学并结合上课所学内容完成数据库原理图绘制
  • static、 静态导入、成员变量的初始化、单例模式、final 常量(Content)、嵌套类、局部类、抽象类、接口、Lambda、方法引用
  • 基于SSM的智能养生平台管理系统源码带本地搭建教程
  • Latex中文排版字体和字号
  • [C++ 11] 列表初始化:轻量级对象initializer_list
  • 【NodeJS】NodeJS+mongoDB在线版开发简单RestfulAPI (八):API说明(暂时完结,后续考虑将在线版mongoDB变为本地版)
  • manictime整合两个数据库的数据
  • Spring Boot植物健康系统:智慧农业的新趋势
  • (三)第一个Qt程序“Qt版本的HelloWorld”
  • 【Python知识】一个强大的数据分析库Pandas
  • 10.26学习
  • CSS易漏知识
  • 【10天速通Navigation2】(三) :Cartographer建图算法配置:从仿真到实车,从原理到实现
  • 测试造数,excel转insert语句
  • Python 应用可观测重磅上线:解决 LLM 应用落地的“最后一公里”问题
  • 从零开始:用Spring Boot搭建厨艺分享网站
  • 《2024中国泛娱乐出海洞察报告》解析,垂直且多元化方向发展!
  • 强化学习数学原理学习(一)