一、基础知识
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++文件。