Создание библиотек 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)