Как сократить процесс создания Qt? - PullRequest
8 голосов
/ 02 июня 2011

Я скачал Qt с открытым исходным кодом, предназначенный для Windows. Поскольку я использую командную строку VS2010 для установки, она автоматически устанавливает платформу msvc-2010. Когда я пытаюсь собрать с помощью nmake, установка заняла около 7-8 часов. Во время процесса я заметил, что Qt компилирует библиотеки, которые мне не нужны, например javascript .

Могу ли я узнать, как можно сократить процесс сборки, поскольку я сосредоточен на разработке настольных систем?

Ответы [ 4 ]

14 голосов
/ 02 июня 2011

Как сказал @tibur, вы можете использовать jom, что является своего рода "параллельным nmake".Вы также можете передать несколько параметров в конфигурацию Qt, некоторые из которых:

  1. -release или -debug: сборка только релизных или отладочных файлов
  2. -nomake demos, -nomake examples, -nomake tools: не создавать хорошо, демонстрации, примеры или инструменты.
  3. -no-webkit, -no-qt3support, -no-script, -no-scripttools: отключить определенные модули Qt.

Может быть и больше, configure.exe --help сообщит вам обо всех доступных вам вариантах.

4 голосов
/ 02 июня 2011

Самая длинная библиотека, самая длинная из которых - это webkit.Если вам не нужен webkit, вы можете передать

-no-webkit

, и время сборки должно значительно сократиться.Большинство других флагов (например, демоверсии -nomake, примеры -nomake, см. Ответ rubenvb) для сравнения являются микрооптимизацией.

2 голосов
/ 02 июня 2011

Я настраиваю Qt для сборки файлов vcproj, а затем использую vcbuild, который поддерживает многопоточные сборки, используя параметр / M4 или / M8:

/ M <number> Указывает номер параллельных сборок для запуска, если возможно

Вы также можете создать с помощью devenv.com, который собирается одновременно, если вы настроили это в опциях IDE.

Оба они похожи на jom, по-видимому, но это работает без установки чего-либо еще.

2 голосов
/ 02 июня 2011

Взгляните на jom .

jom - клон nmake, поддерживающий параллельное выполнение нескольких независимых команд.Он добавляет ключ командной строки -j, аналогичный GNU make.

...