Alte Frage, aber dennoch eine aktuelle Antwort wert. Heutzutage ist es üblich, das zu tun, was Qt Creator tut, wenn Schattenbuilds verwendet werden (diese werden standardmäßig beim Öffnen eines neuen Projekts aktiviert).
Für jedes unterschiedliche Build-Ziel und jeden unterschiedlichen Build-Typ wird das Recht qmake
mit den richtigen Argumenten in einem anderen Build-Verzeichnis ausgeführt. Dann wird das einfach mit einfach gebaut make
.
Die imaginäre Verzeichnisstruktur könnte also so aussehen.
/
|_/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
Und das Wichtigste ist, dass a qmake
im Build-Verzeichnis ausgeführt wird:
cd build-mylib-XXXX
/path/to/right/qmake ../mylib/mylib.pro CONFIG+=buildtype ...
Dann generiert es Makefiles im Build-Verzeichnis und make
generiert auch Dateien darunter. Es besteht kein Risiko, dass verschiedene Versionen verwechselt werden, solange qmake nie im Quellverzeichnis ausgeführt wird (wenn ja, bereinigen Sie es besser!).
Und wenn dies so gemacht wird, ist die .pro
Datei aus der aktuell akzeptierten Antwort noch einfacher:
HEADERS += src/dialogs.h
SOURCES += src/main.cpp \
src/dialogs.cpp