保留構建中的源目錄結構(與源選項並行的未記錄的物件)
如果你希望通過將原始檔儲存在不同的子目錄中來組織專案,你應該知道在構建期間, qmake 不會保留此目錄結構,並且它會將所有“.o”檔案保留在單個構建目錄中。如果你在不同的目錄中存在衝突的檔名,如下所示,則可能會出現問題。
src/file1.cpp
src/plugin/file1.cpp
現在 qmake 將決定在構建目錄中建立兩個“file1.o”檔案,導致其中一個檔案被另一個檔案覆蓋。buld 會失敗。為防止這種情況,你可以將 CONFIG += object_parallel_to_source
配置選項新增到 pro
檔案中。這將告訴 qmake 生成儲存源目錄結構的構建檔案。這樣,你的構建目錄將反映源目錄結構,並且將在單獨的子目錄中建立目標檔案。
src/file1.o
src/plugin/file1.o
完整的例子。
QT += core
TARGET = myapp
TEMPLATE = app
CONFIG += object_parallel_to_source
SOURCES += src/file1.cpp \
src/plugin/file1.cpp
HEADERS += src/plugin/file1.h
請注意,object_parallel_to_source
CONFIG
選項未正式記錄。