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.

¿Fue útil?

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.

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top