Comment puis-je obtenir VS 2010 pour exécuter plus d'un processus de compilation C++ à la fois? Je veux dire construire des modules d'objets en parallèle; Je ne suis pas intéressé à construire plus d'un projet à la fois (je connais Outils> Options> Construire et exécuter <Nombre maximum de constructions de projets parallèles, mais cela ne fait pas ce que je veux).
Fondamentalement, je recherche l'équivalent de "make -jN" dans Visual Studio.
En outre, comme Ross Smith l'a dit dans les commentaires, vous devez également activer l'option "Compilation multiprocesseur" sur le projet:
Il y a deux commutateurs qui doivent être définis pour que la génération VS utilise le multithreading (les deux sont spécifiques au projet):
Vérifiez également Vos Outils-> Options-> Projets et Solutions-> Paramètres du projet VC++ -> Compilations C++ simultanées maximales paramètre. La valeur par défaut est 0, ce qui permet à VS d'utiliser autant de compilations concurrentes que possible.
Le commentaire de Necrolis semble la bonne solution.
/ MP (Build avec plusieurs processus)
L'option/MP oblige le compilateur à créer une ou plusieurs copies de lui-même, chacune dans un processus distinct. Ces copies compilent simultanément les fichiers source. Par conséquent, le temps total nécessaire pour créer les fichiers source peut être considérablement réduit.
Notez que vous pouvez le définir au niveau du projet (et donc qu'il s'appliquera à tous les fichiers qu'il contient) ainsi qu'aux fichiers individuels, utile par exemple si vous devez utiliser #import
.
En particulier,/MP n'est généralement pas compatible avec les en-têtes précompilés ou les sources utilisant #import
; dans ce cas, vous pouvez toujours définir l'indicateur/MP sur le projet, puis l'effacer sur les fichiers uniques (généralement, stdafx.cpp et tout fichier utilisant #import).
Voici ce que j'ai fait
1) Allez dans Outils-> Options que sous "Projet et solutions" -> "Construire et exécuter" pour moi, il y avait le nombre de cœurs. Bien qu'au début, je pensais que c'était tout ce que je devais faire, mais ce n'est pas
2) Faites un clic droit sur votre projet et sélectionnez les propriétés. Sous "Propriétés de configuration" -> "C/C++" -> "Ligne de commande", entrez /MP4
où 4 est le nombre de cœurs que vous avez. Vous recevrez un avertissement sur les drapeaux non compatibles, nous avons donc une autre étape
3) Allez dans "Propriétés de configuration" -> "C/C++" -> "Génération de code" il y a "Activer la reconstruction minimale". Remplacez cela par non.
Reconstruisez et vous devriez voir plusieurs processus CL dans votre gestionnaire de tâches.
jom est l'outil que vous recherchez.
Depuis le wiki à: http://qt-project.org/wiki/jom
jom est un clone de nmake pour prendre en charge l'exécution de plusieurs commandes indépendantes en parallèle. Il ajoute essentiellement le commutateur de ligne de commande -j similaire à GNU make.
Alors que la plupart de la documentation est destinée aux développeurs Qt essayant d'accélérer les builds de la bibliothèque Qt sur Windows, jom devrait aussi parfaitement fonctionner dans les projets non Qt, tant que vous avez un makefile compatible avec nmake.
La page wiki contient des fichiers binaires que vous pouvez télécharger et vous appelez jom comme vous le feriez avec nmake.
Je vois! Votre exigence est la construction d'un projet unique dans des threads parallèles.
Je trouve Shark compiler Control plugin très utile