web-dev-qa-db-fra.com

Comment utiliser tous les cœurs pour nmake?

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

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

[modifier] Sur la base des 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.

43
Phil Hannent

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

Vous pouvez cependant faire en sorte que le compilateur crée plusieurs fichiers en parallèle en utilisant le /MP option avec le compilateur de ligne de commande VC++ et en passant plusieurs fichiers en même temps:

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

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

21
Alnitak

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

set CL=/MP
nmake

utilisera tous les cœurs de CPU.

44
Violet Giraffe

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

34
Tolik Odukha

CMake 2.8.1 RC1 , quant au moment d'écrire ceci, il est prêt à essayer, apporte un nouveau générateur pour NMake qui s'appelle NMake Makefiles JOM et il génère NMake avec paramètres spécifiques pour jom, qui est la baisse de remplacement de NMake. Ainsi, il permet une construction multi-traitement à l'aide de NMake.

7
mloskot

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

6
Martin Beckett

La recherche rapide sur Google donne: http://msdn.Microsoft.com/en-us/library/bb385193.aspx

4
Marcin Gil

Cela ne fonctionne pas pour les makefiles normaux, mais il existe un paramètre dans Visual Studio 2005 qui vous permet de créer plusieurs fichiers .vcproj en même temps (à condition que l'un ne dépende pas de l'autre). Outils -> Options -> Projets et solutions -> Créer et exécuter -> X nombre maximal de constructions de projets parallèles.

3
teeks99