2014-05-07 4 views
5

Versuch, eine einfache "Hallo Welt .." Qt-Anwendung von der Kommandozeile zu erstellen und zu starten, begann die folgenden Schritte und schlug in kompilieren und erstellen .. 1. erstellt main.cpp Datei 2. Ausführen qmake -pro zu erstellen Projektdatei 3. Lauf qmake machen Dateien erstellen (hier entweder laufen müssen nmake oder jom .. ich versuchte jom) 4. Lauf jom.exe Make-Datei, aber es passiert nichts ..Was ist Jom im Qt-Build-System? Wie rufe ich jom von der Kommandozeile aus, um qt-Projekt zu erstellen?

hier sind so meine Fragen .. Was ist jom (und Erweiterung?), wie jom von der Befehlszeile aufrufen ..

Ich benutze Qt 5.1.1 mit Microsoft Visual C++ - Compiler 11.0.

+0

Haben Sie das gelesen: http://qt-project.org/wiki/jom? – vahancho

+1

Ja, habe ich, aber es gibt keine Informationen darüber, wie jom aufgerufen werden kann! oder Erweiterung für jom – Prady

+0

Es gibt auch einen Link zum ursprünglichen Beitrag: http://blog.qt.digia.com/blog/2009/03/27/speeding-up-visual-c-qt-builds/. Sie müssen einfach jom anstelle von nmake verwenden. Mit der Option -j können Sie auch die Anzahl der gleichzeitigen Prozesse festlegen. – vahancho

Antwort

7

nmake nutzt nicht alle verfügbare Verarbeitungsleistung wie GNU make. jom ist ein Klon von nmake, der die Ausführung mehrerer unabhängiger Befehle parallel unterstützt. Es kann eine beliebige Anzahl von Prozessen gleichzeitig verwenden.

Wenn Sie es zum Beispiel verwenden Auf einer Quad-Core-Maschine mit einem Qt-Build dauert die Hälfte der Zeit, die es mit nmake dauerte.

Sie können auch die -j Befehlszeilenargument verwenden, um die Anzahl der gleichzeitigen Prozesse zu setzen:

C:\Qt\Qt5.1.1\Tools\QtCreator\bin\jom.exe -j 12 -f Makefile 

12 stellt die Anzahl der Kerne die Sie verwenden möchten. Ich benutze 12, weil ich 12 Threads habe.

+0

Ich habe versucht, diesen Befehl auszuführen, aber es gibt Fehler "Fehler: Datei -j existiert nicht." – Prady

+0

@Prady Probieren Sie '-j% NUMBER_OF_PROCESSORS%' aus, um mindestens einen Thread pro Kernkompilierung auszuprobieren. 'jom' ist manchmal sehr wählerisch. –

Verwandte Themen