Frage

Ich bin mit qmake MinGW32 Makefiles für einen kleinen Qt C ++ App entwickeln wir zu generieren. Mein Problem: alle diese Dual / Quad-Core-CPUs sitzt da untätig, während nur ein Thread das Gebäude tut. Um die Dinge zu parallelisieren versuchte ich zu machen --jobs 4 vorbei, aber das Problem ist, dass qmake erzeugt eine generische Make-Datei in dessen Inneren erneut aufgerufen machen wird mit f.

Ist es möglich, qmake zu zwingen Optionen hinzufügen zu machen, wenn die Make-Datei zu erzeugen? Oder vielleicht ist es eine andere Art und Weise die Möglichkeit, außerhalb von insgesamt Qmake der Einstellung? Ich kann es nicht, dass bestimmte Makefile bearbeiten, da es jeden Build automatisch generiert wird.

War es hilfreich?

Lösung

Abusing $MAKE Optionen nicht passieren alle Fälle arbeiten. Oftmals (zum Beispiel in dem Configure-Skript von Qt auf Unix), ist es in doppelten Anführungszeichen ("$MAKE"), um den Befehl zu ermöglichen Leerzeichen enthalten. Ich weiß, weil ich den gleichen Trick verwendet, bevor es aufgehört zu arbeiten. Qt Unterstützung schlug dann (zu Recht) $MAKEFLAGS wie in

zu verwenden,
set MAKEFLAGS=-j4
make

Andere Tipps

Dies funktioniert für mich:

gesetzt MAKE_COMMAND = mingw32-make -j% NUMBER_OF_PROCESSORS%

Die allgemeine Makefile verwendet $(MAKE) wenn macht Aufruf, so dass Sie es mit Umgebungsvariablen überschreiben können. So etwas sollte es tun:

  qmake
  make MAKE="mingw32-make -j4"

Ersetzen Sie die Werte von MAKE als natürlich erforderlich:)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top