Question

Je viens de recevoir un nouvel ordinateur quad core et j'ai remarqué que nmake n'utilise qu'un processus.

J'avais l'habitude d'utiliser make qui avait le commutateur -j4 pour lancer 4 processus. Quel est l'équivalent de nmake?

[modifier] D'après les informations ci-dessous, j'ai pu ajouter une commande à mon fichier de projet qmake:

QMAKE_CXXFLAGS + = / MP

Ce qui l’a effectivement fait pour moi. Merci beaucoup.

Était-ce utile?

La solution

Selon MSDN , il n'y a pas cette option pour nmake .

Vous pouvez toutefois demander au compilateur de créer plusieurs fichiers en parallèle en utilisant l'option / MP avec le compilateur en ligne de commande VC ++ et en transmettant plusieurs fichiers simultanément:

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

Cependant, notez que la plupart des Makefiles n’appellent pas le compilateur comme ceci - ils invoquent habituellement le compilateur séparément pour chaque fichier source, ce qui empêcherait l’option / MP de faire quelque chose d’utile.

Autres conseils

Une autre façon générique, non liée à Qt, de dire à nmake d'utiliser tous les cœurs est de définir la variable d'environnement CL sur / MP . :

set CL=/MP
nmake

utilisera tous les cœurs de la CPU.

QT ont un outil supposé pour cela http://qt.gitorious.org/qt-labs/jom

Le CMake 2.8.1 RC1 , comme pour le Au moment où j'écris ceci, il est prêt à essayer, apporte un nouveau générateur pour NMake qui s'appelle NMake Makefiles JOM et génère NMake avec des paramètres spécifiques pour jom, qui constitue le remplacement immédiat de NMake. Ainsi, il donne la construction multi-processus activée en utilisant NMake.

Incredibuild prétend pouvoir exécuter des versions de nmake sur plusieurs cœurs / plusieurs machines. Je n'en ai aucune expérience.

Cela ne fonctionne pas pour les fichiers Make normaux, mais il existe un paramètre dans Visual Studio 2005 qui vous permet de créer plusieurs fichiers .vcproj à la fois (à condition qu'un fichier ne dépende pas de l'autre). Outils - > Options - > Projets et solutions - > Construire et exécuter - > X nombre maximal de générations de projets parallèles.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top