Eski soru, ama yine de güncel bir cevaba değer. Günümüzde, gölge yapılar kullanıldığında Qt Creator'ın yaptığı şeyi yapmak yaygındır (yeni bir proje açarken varsayılan olarak etkinleştirilirler).
Her farklı derleme hedefi ve türü için, doğru qmake
, farklı bir yapı dizininde doğru bağımsız değişkenlerle çalıştırılır. O zaman bu sadece basit bir şekilde inşa edilmiştir make
.
Yani hayali dizin yapısı şöyle görünebilir.
/
|_/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
Ve önemli olan şey, qmake
inşa dizininde a çalıştırılmasıdır:
cd build-mylib-XXXX
/path/to/right/qmake ../mylib/mylib.pro CONFIG+=buildtype ...
Daha sonra derleme dizininde makefiles oluşturur ve make
bunun altında da dosyalar üretir. Qmake asla kaynak dizinde çalıştırılmadığı sürece farklı sürümlerin karışması riski yoktur (eğer öyleyse, daha iyi temizleyin!).
Ve böyle yapıldığında .pro
, şu anda kabul edilen cevabın dosyası daha da basittir:
HEADERS += src/dialogs.h
SOURCES += src/main.cpp \
src/dialogs.cpp