Создание библиотек QT на Ubuntu Linux

Я пытаюсь построить библиотеки QT 4.8.2 на Ubuntu Linux, следуя инструкции, упомянутой в документация .

Это второй раз, когда я пытаюсь строить... Я пробовал раньше, и когда процесс сборки не завершился даже после 12-13 часов, я подумал, что что-то не так, поэтому я начал с самого начала.

прошло почти 24 часа, я выдал команду make (во второй попытке), процесс сборки все еще продолжается. Терминал не отображается любая ошибка.

действительно ли создание библиотек QT на Ubuntu Linux занимает столько времени, или я что-то пропустил.

2 ответов


построение Qt занимает пару часов даже в быстрой системе, если вы выполняете только непараллельную сборку по умолчанию. По умолчанию он также привлекает множество библиотек, которые вам могут не понадобиться.

Итак, первое, что нужно попробовать make -j для выполнения параллельных построений. Если это все еще занимает слишком много времени, попробуйте уменьшить библиотеки, которые генерирует Qt. Вам нужен QtWebKit, например? Если вы планируете использовать встроенный веб-браузер в своем приложении, вам это понадобится. Если нет, то вы можете наполовину время построения. Тип configure --help посмотреть опции. Некоторые полезные, которые могут сократить время сборки:

Примечание: некоторые из следующих параметров больше не применимы в Qt5

  • -fast-используйте это, если вы просто используете Qt, а не разрабатываете Qt сам
  • - no-webkit-Если вам не нужен встроенный веб-браузер, это имеет огромное значение
  • -release-Если вам не нужны библиотеки отладки, то это может быть быстрее
  • - нет-qt3-поддержка-вам это не понадобится для нового проекта
  • -nomake примеры - не строить примеры
  • -nomake демо - не строить демо
  • - нет-декларативный-если вы не используете API QtQuick, то опустите это
  • -nomake docs-не создавайте документацию (это может сэкономить много времени)

Если вам нужно заплатить за время в этом экземпляре Amazon, то другой вариант чтобы создать локальную машину Ubuntu (на запасной машине или в виртуальной машине) и настроить параметры там, пока вы не получите что-то, что работает, а затем используйте эту конфигурацию сборки на своем экземпляре Amazon.

EDIT:

в Qt5 проект изменился на использование подмодулей git, поэтому, если вы строите из проверки git, поведение по умолчанию-клонировать все подмодули, что существенно увеличит время сборки, если есть модули, которые вам не нужны. Есть скрипт init-repository это часть репозитория qt5. Вы можете использовать это, чтобы обрезать локальный репозиторий, чтобы содержать только необходимые подмодули. Так, например:

git clone https://git.gitorious.org/qt/qt5.git
cd qt5
./init-repository --module-subset="qtbase qtdeclarative qtquick1"
configure --your-options-here
make -j

на моей машине я могу сделать базовую сборку qtbase примерно за 10 минут


требования к памяти для компиляции Qt 4.7 являются 1.2 Гб (в основном требуется qwebkit link stage), если у вас недостаточно создать дополнительный файл подкачки (см. https://www.centos.org/docs/5/html/5.2/Deployment_Guide/s2-swap-creating-file.html)