Project Structure

範例說明

透過「qtcreator」產生一個專案,例如「base-widgets」。

接著修改這個專案的資料夾組織架構,修改成新的專案「demo-widgets」。

請對照「base-widgets/base-widgets.pro」和「demo-widgets/build.pro」。

關於「base-widgets」 原先的資料夾結構

執行

tree base-widgets/

顯示

base-widgets/
├── base-widgets.pro
├── main.cpp
├── mainwindow.cpp
├── mainwindow.h
└── mainwindow.ui

0 directories, 5 files

關於「demo-widgets」 原先的資料夾結構

執行

$ tree demo-widgets/ -a

顯示

demo-widgets/
├── asset
│   └── mainwindow.ui
├── build.pro
├── .gitignore
├── include
│   └── mainwindow.h
├── README.md
└── source
    ├── main.cpp
    └── mainwindow.cpp

3 directories, 7 files

關於「demo-widgets」 build後的資料夾結構

執行

$ tree demo-widgets/ -a

執行

demo-widgets/
├── asset
│   └── mainwindow.ui
├── build
│   ├── bin
│   │   └── demo
│   ├── moc
│   │   ├── moc_mainwindow.cpp
│   │   └── moc_predefs.h
│   ├── obj
│   │   ├── main.o
│   │   ├── mainwindow.o
│   │   └── moc_mainwindow.o
│   └── ui
│       └── ui_mainwindow.h
├── build.pro
├── .gitignore
├── include
│   └── mainwindow.h
├── Makefile
├── .qmake.stash
├── README.md
└── source
    ├── main.cpp
    └── mainwindow.cpp

8 directories, 16 files

主要修改的 「qmake Manual Variables

SOURCES

SOURCES += \
	source/main.cpp \
	source/mainwindow.cpp

HEADERS

HEADERS += \
	include/mainwindow.h

FORMS

FORMS += \
	asset/mainwindow.ui

INCLUDEPATH

INCLUDEPATH += \
	include

DESTDIR

DESTDIR = \
	build/bin

OBJECTS_DIR

OBJECTS_DIR = \
	build/obj

MOC_DIR

MOC_DIR = \
	build/moc

UI_DIR

UI_DIR = \
build/ui