Domanda

Ho appena ricevuto un nuovo computer quad core e ho notato che nmake sta usando solo 1 processo.

Usavo make che aveva lo switch -j4 per l'avvio di 4 processi. Qual è l'equivalente di nmake?

[modifica] Sulla base delle informazioni seguenti sono stato in grado di aggiungere un comando al mio file di progetto qmake:

QMAKE_CXXFLAGS + = / MP

Il che è stato efficace per me. Mille grazie.

È stato utile?

Soluzione

Secondo MSDN , non c'è tale opzione per nmake .

Puoi comunque fare in modo che il compilatore costruisca più file in parallelo usando l'opzione / MP con il compilatore della riga di comando VC ++ e passando più file contemporaneamente:

> cl /MP a.cpp b.cpp c.cpp

Tuttavia nota che la maggior parte dei Makefile non chiama il compilatore in questo modo - di solito invoca il compilatore separato per ogni singolo file sorgente, il che impedirebbe all'opzione / MP di fare qualcosa di utile.

Altri suggerimenti

Un altro modo generico e non correlato a Qt per dire a nmake di usare tutti i core è di impostare la variabile ambientale CL su / MP :

set CL=/MP
nmake

utilizzerà tutti i core della CPU.

QT ha lo strumento previsto per questo http://qt.gitorious.org/qt-labs/jom

Il CMake 2.8.1 RC1 , come per il tempo di scrivere questo è pronto per provare, porta un nuovo generatore per NMake che si chiama NMake Makefiles JOM e genera NMake con impostazioni specifiche per jom, che è il calo in sostituzione di NMake. Pertanto, offre la costruzione multi-elaborazione abilitata utilizzando NMake.

Incredibuild afferma di essere in grado di eseguire build nmake su più core / macchine multiple. Non ne ho esperienza.

Questo non funziona con i normali makefile, ma in Visual Studio 2005 esiste un'impostazione che ti consente di creare più di un file .vcproj contemporaneamente (a condizione che uno non dipenda dall'altro). Strumenti - > Opzioni - > Progetti e soluzioni - > Costruisci ed esegui - > X numero massimo di build di progetti paralleli.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top