visual temas studio para español configurar code visual-studio visual-studio-2010 visual-c++ parallel-builds

temas - ¿Cómo puedo hacer una compilación paralela en Visual Studio 2010?



visual studio code autocomplete html (6)

¿Cómo puedo obtener VS 2010 para ejecutar más de un proceso de compilación de C ++ a la vez? Me refiero a construir módulos de objetos en paralelo; No estoy interesado en crear más de un proyecto a la vez (conozco Herramientas> Opciones> Compilar y Ejecutar <Número máximo de compilaciones paralelas de proyectos, pero eso no hace lo que quiero).

Básicamente, estoy buscando el equivalente de Visual Studio "make -jN".


  1. Herramientas -> Opciones
  2. Proyectos y soluciones / Configuración del proyecto VC ++
  3. Máximas compilaciones concurrentes de C ++

Además, como dijo Ross Smith en los comentarios, también debe activar la opción de "compilación multiprocesador" en el proyecto:

  1. Propiedades del proyecto
  2. Propiedades de configuración> C / C ++> General
  3. Compilación multiprocesador
  4. ¡Lucro!

¡Ya veo! Su requisito es construir un solo proyecto en hilos paralelos.

Me parece muy útil el plugin de control de compilador Shark


Aquí esta lo que hice

1) Vaya a Herramientas-> Opciones que en "Proyecto y soluciones" -> "Generar y ejecutar" para mí tenía la cantidad de núcleos. Aunque al principio pensé que esto era todo lo que tenía que hacer, pero no es

2) Haga clic derecho en su proyecto y seleccione propiedades. En "Propiedades de configuración" -> "C / C ++" -> "Línea de comando", ingrese /MP4 donde 4 es la cantidad de núcleos que tiene. Recibirá una advertencia sobre banderas que no son compatibles, así que tenemos otro paso

3) Vaya a "Propiedades de configuración" -> "C / C ++" -> "Generación de código" hay "Habilitar reconstrucción mínima". Cambia eso a no.

Reconstruya y debería ver múltiples procesos CL en su administrador de tareas.


El comentario de Necrolis parece ser la solución correcta.

msdn.microsoft.com/en-us/library/bb385193.aspx

La opción / MP hace que el compilador cree una o más copias de sí mismo, cada una en un proceso separado. Estas copias compilan simultáneamente los archivos fuente. En consecuencia, el tiempo total para construir los archivos fuente puede reducirse significativamente.

Tenga en cuenta que puede establecerlo a nivel de proyecto (y por lo tanto, se aplicará a todos los archivos) así como a los archivos individuales, por ejemplo, si necesita usar #import .

En particular, / MP generalmente no es compatible con encabezados precompilados, o fuentes que usan #import ; en este caso, aún puede establecer / indicador MP en el proyecto y luego borrarlo en los archivos individuales (por lo general, stdafx.cpp y cualquier archivo que use #import).


Hay dos conmutadores que se deben establecer para hacer que VS se construya usando multihebra (ambos son específicos del proyecto):

  • propiedades del proyecto-> C / C ++ -> General-> Compilación multiprocesador configurado en: Sí (/ MP)
  • propiedades del proyecto-> C / C ++ -> Generación de código- > Habilitar reconstrucción mínima establecida en: No (/ Gm-)

Consulte también Sus herramientas-> Opciones-> Proyectos y soluciones-> Configuraciones del proyecto VC ++-> Configuración máxima de compilaciones simultáneas de C ++ . El valor predeterminado es 0, lo que permite a VS usar tantas compilaciones simultáneas como sea posible.


jom es la herramienta que estás buscando.

Desde la wiki en: http://qt-project.org/wiki/jom

jom es un clon de nmake para soportar la ejecución de múltiples comandos independientes en paralelo. Básicamente, agrega el modificador de línea de comando -j similar a la marca GNU.

Si bien la mayoría de la documentación está dirigida a los desarrolladores de Qt que intentan acelerar las compilaciones de la biblioteca Qt en Windows, jom también debería funcionar perfectamente en proyectos que no sean Qt, siempre que tenga un archivo make compatible con nmake.

La página wiki tiene binarios que puedes descargar, y llamas a jom como lo harías.