Pertanyaan lama, tapi tetap bernilai jawaban terkini. Saat ini adalah hal umum untuk melakukan apa yang dilakukan Qt Creator ketika shadow build digunakan (mereka diaktifkan secara default saat membuka proyek baru).
Untuk setiap target dan jenis build yang berbeda, hak qmake
tersebut dijalankan dengan argumen yang benar dalam direktori build yang berbeda. Maka itu baru dibangun dengan sederhana make
.
Jadi, struktur direktori imajiner mungkin terlihat seperti ini.
/
|_/build-mylib-qt5-mingw32-debug
|_/build-mylib-qt5-mingw32-release
|_/build-mylib-qt4-msvc2010-debug
|_/build-mylib-qt4-msvc2010-release
|_/build-mylib-qt5-arm-debug
|_/build-mylib-qt5-arm-release
|_/mylib
|_/include
|_/src
|_/resources
Dan yang terpenting adalah, a qmake
dijalankan di direktori build:
cd build-mylib-XXXX
/path/to/right/qmake ../mylib/mylib.pro CONFIG+=buildtype ...
Kemudian itu menghasilkan makefiles di direktori build, dan kemudian make
akan menghasilkan file di bawahnya juga. Tidak ada risiko tercampurnya versi yang berbeda, selama qmake tidak pernah berjalan di direktori sumber (jika ya, lebih baik bersihkan dengan baik!).
Dan ketika dilakukan seperti ini, .pro
file dari jawaban yang diterima saat ini bahkan lebih sederhana:
HEADERS += src/dialogs.h
SOURCES += src/main.cpp \
src/dialogs.cpp