1. 创建一个qt5 程序
默认情况下所有的文件如下图:
如图所有的工程文件都存在一个文件夹中,工程文件数小我们还能一目了然,但是随着工程的扩大,文件数目的增多,我们就会发现查找一个文件就很困难,所以就必须给工程文件分能别类;
步骤
- 创建如下图的文件夹
bin_debug 存放在debug模式下生成的exe
bin_release 存放的是release模式下生成的exe
build 存放的.pro工程文件
tmp 存放编译过程生成的文件
ui 存放.ui文件
src 存放源文件
- 修改.pro文件
#-------------------------------------------------
#
# Project created by QtCreator 2019-01-07T10:35:26
#
#-------------------------------------------------
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = project001
TEMPLATE = app
SOURCES += $$PWD/../src/main.cpp\
$$PWD/../src/mainwindow.cpp \
$$PWD/../src/cproject.cpp
HEADERS += $$PWD/../src/mainwindow.h \
$$PWD/../src/cproject.h
FORMS += $$PWD/../ui/mainwindow.ui
##添加输出目录
CONFIG (release, release|debug){
message(release)
OBJECTS_DIR = $$PWD/release/tmp/objs/release #指定所有中间文件.o(.obj)放置的目录
MOC_DIR = $$PWD/release/tmp/moc/release #指定来自moc的所有中间文件放置的目录(含Q_OBJECT宏的头文件转换成标准.h文件的存放目录)
UI_DIR = $$PWD/release/tmp/ui/release #指定来自uic的所有中间文件放置的目录(.ui文件转化成ui_*.h文件的存放目录)
RCC_DIR = $$PWD/release/tmp/rcc/release #指定Qt资源编译器输出文件的目录(.qrc文件转换成qrc_*.h文件的存放目录)
DESTDIR = $$PWD/../bin_release #指定在何处放置目标文件
}
CONFIG (debug,release|debug){
message(debug)
OBJECTS_DIR = $$PWD/debug/tmp/objs/debug
MOC_DIR = $$PWD/debug/tmp/moc/debug
UI_DIR = $$PWD/debug/tmp/ui/debug
RCC_DIR = $$PWD/debug/tmp/rcc/debug
DESTDIR = $$PWD/../bin_debug
}
重新构建工程,这样一个简单的工程分类就完成了,可以根据自己的工程情况分的更细一些;
如下图是分类后的效果:
多工程
建立两个工程如下图
然后添加一个.pro文件
记载文件中添加:
#配置TEMPLATE为subdirs设置多工程
TEMPLATE = subdirs
#配置SUBDIRS,指定需要添加的工程模块
SUBDIRS += $$PWD/Pro_1/Pro_1.pro \
$$PWD/Pro_2/Pro_2.pro
CONFIG += ordered # 配置CONFIG为ordered指定顺序编译
就完成了多工程的配置
多模块 .pri文件
说明.pri 文件 包含(include)的首字母,也就是当你的一个项目中分了好多个模块的时候,就可用.pri文件来进行管理 让.pro文件看起来更加的显目
- 新建一个文件夹pri,在里面添加一个mypri.pri文件,然后添加 一个 myclass.h 和,myclass.cpp 文件
- 在mypri.pri中将myclass.h 和 myclass.cpp文件加载
在mypri.pri文件中添加:
SOURCES += $$PWD/myclass.cpp
HEADERS += $$PWD/myclass.h
在Pro_1.pro文件中添加
INCLUDEPATH+=$$PWD/pri
include($$PWD/pri/mypri.pri)