¿Cómo utilizo todos los núcleos para hacer nake?
Pregunta
Acabo de recibir una nueva computadora de cuatro núcleos y noté que nmake solo está usando el proceso 1.
Solía ??usar make que tenía el interruptor -j4 para iniciar 4 procesos. ¿Cuál es el equivalente nake?
[editar] Según la información a continuación, he podido agregar un comando a mi archivo de proyecto qmake:
QMAKE_CXXFLAGS + = / MP
Lo que efectivamente lo hizo por mí. Muchas gracias.
Solución
Según MSDN , no hay dicha opción para nmake
.
Sin embargo, puede hacer que el compilador genere varios archivos en paralelo utilizando la opción / MP
con el compilador de línea de comandos VC ++ y pasando varios archivos al mismo tiempo:
> cl /MP a.cpp b.cpp c.cpp
Sin embargo, tenga en cuenta que la mayoría de los Makefiles no llaman al compilador de esta manera, ya que generalmente invocan el compilador por separado para cada archivo fuente individual, lo que evitaría que la opción / MP
haga algo útil.
Otros consejos
Otra forma genérica, no relacionada con Qt de decirle a nmake
que use todos los núcleos es establecer la variable ambiental CL
en / MP
:
set CL=/MP
nmake
utilizará todos los núcleos de la CPU.
QT tiene herramienta supuesta para esto http://qt.gitorious.org/qt-labs/jom
El CMake 2.8.1 RC1 , en cuanto a El momento de escribir esto está listo para probar, trae un nuevo generador para NMake que se llama NMake Makefiles JOM y genera NMake con configuraciones específicas para jom, que es la caída del reemplazo de NMake. Por lo tanto, proporciona un edificio habilitado para multiprocesamiento utilizando NMake.
Incredibuild dice ser capaz de ejecutar las compilaciones nmake en múltiples núcleos / múltiples máquinas. No tengo ninguna experiencia al respecto.
El googlear rápido proporciona: http://msdn.microsoft.com/en -us / library / bb385193.aspx
Esto no funciona para los archivos make normales, pero hay una configuración en Visual Studio 2005 que le permite crear más de un archivo .vcproj al mismo tiempo (siempre que uno no dependa del otro). Herramientas - > Opciones - > Proyectos y Soluciones - > Construir y ejecutar - > X número máximo de compilaciones de proyectos en paralelo.