Вопрос

Я только что получил новый четырехъядерный компьютер и заметил, что nmake использует только 1 процесс.

Раньше я использовал make, у которого был переключатель -j4 для запуска 4 процессов.Что такое эквивалент nmake?

[редактировать] Основываясь на приведенной ниже информации, я смог добавить команду в файл моего проекта qmake:

QMAKE_CXXFLAGS += /МП

Который эффективно сделал это за меня.Большое спасибо.

Это было полезно?

Решение

Согласно MSDN, такой опции для nmake.

Однако вы можете заставить компилятор создавать несколько файлов параллельно, используя /MP опция с компилятором командной строки VC ++ и одновременной передачей нескольких файлов:

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

Однако обратите внимание, что большинство Makefile-файлов не вызывают компилятор подобным образом - обычно они вызывают компилятор отдельно для каждого отдельного исходного файла, что предотвратило бы /MP возможность не делать ничего полезного.

Другие советы

Еще один общий, не связанный с Qt способ сообщить nmake чтобы использовать все ядра, необходимо установить переменную среды CL Для /MP:

set CL=/MP
nmake

будут использоваться все ядра процессора.

У QT есть инструмент, предназначенный для этого http://qt.gitorious.org/qt-labs/jom

Тот Самый CMake 2.8.1 RC1, что касается момента написания этой статьи, то она готова попробовать, действительно приносит новый генератор для NMake, который называется NMake Создает файлы JOM и он генерирует NMake с определенными настройками для jom, что является заменой NMake.Таким образом, это обеспечивает построение с поддержкой нескольких процессов с использованием NMake.

Невероятное Строительство утверждает, что может запускать сборки nmake на нескольких ядрах / нескольких машинах.У меня нет никакого опыта в этом.

Быстрый поиск в Google дает: http://msdn.microsoft.com/en-us/library/bb385193.aspx

Это не работает для обычных make-файлов, но в Visual Studio 2005 есть настройка, которая позволяет создавать более одного файла .vcproj одновременно (при условии, что один не зависит от другого).Инструменты -> Параметры -> Проекты и решения -> Сборка и запуск -> X максимальное количество параллельных сборок проекта.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top