利用qmake分类编译输出的中间文件

通过配置项目文件控制编译器分类生成中间文件,中间文件较多时作用较大。

DESTDIR

  • 设置执行文件的输出目录,如(.exe文件)。

OBJECTS_DIR

  • 设置编译时生成的中间代码文件的路径。

MOC_DIR

  • 设置编译时生成moc文件的路径。
  • 注:所有QObject派生的类都会生成moc。

RCC_DIR

  • 设置编译时资源文件的路径。
  • 注:把图片放到qrc里面,使用编译器生成qrc_xxx.cpp文件。

UI_DIR

  • 设置编译时ui界面文件的路径。
  • 注:如存在xxx.ui文件则编译器生成名为ui_xxx.h文件

qmake分类语句

1
2
3
4
5
6
7
8
9
10
11
12
build_type =
CONFIG(debug, debug|release) {
build_type = debug
} else {
build_type = release
}

DESTDIR = $$build_type/out
OBJECTS_DIR = $$build_type/obj
MOC_DIR = $$build_type/moc
RCC_DIR = $$build_type/rcc
UI_DIR = $$build_type/ui

设置分类语句前

插图

设置分类语句后

  • 齐齐整整的目录分类

插图

  • 目录树
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    ├─moc
    │ moc_mainwindow.cpp
    │ moc_predefs.h

    ├─obj
    │ main.obj
    │ mainwindow.obj
    │ moc_mainwindow.obj
    │ qrc_rcc.obj
    │ TextEdit_resource.res

    ├─out
    │ TextEdit.exe

    ├─rcc
    │ qrc_rcc.cpp

    └─ui
    ui_mainwindow.h