как собрать сам проект qt с помощью qtcreator - PullRequest
0 голосов
/ 06 ноября 2018

Мой вопрос касается проекта Qt в репозитории git: //code.qt.io/qt/qt5.git. Я проверил версию 5.12.

Я предполагаю, что qtcreator знает файл qmake , но ничего не знает о команде configure . Отсюда

  • Я использовал команду configure для подготовки сборки в каталоге теневой сборки
  • В QTCreator я открыл qt.pro, расположенный в рабочей области git
  • QTCreator открывает диалог настроек сборки, и я импортирую их из каталога теневой сборки
  • Наконец я нажимаю build в QTCreator.

Но окно компиляции останавливается при запросе ввода. Qmake спрашивает меня о типе лицензии, которую я хочу выбрать. Я уже ответил, что уже на этапе конфигурирования, и даже если бы я согласился ответить на этот вопрос снова, в окне qtcreator compile output нет функции приглашения. Где я ошибся?

Если я забуду о QTCreator и вызову make в каталоге теневой сборки, то все будет в порядке и без каких-либо вопросов по лицензированию. Когда я затем импортирую каталог теневой сборки в QTCreator, я могу встроить QTCreator. Но затем я нажал Запустить qmake из любопытства и вернулся к исходной точке, то есть окно компиляции снова запрашивает ввод и останавливается там навсегда.

Помимо моего конкретного вопроса, я не нашел общей документации по сборке библиотек qt с использованием QTCreator. Я нахожу только описания компиляции проектов, использующих библиотеку Qt.

1 Ответ

0 голосов
/ 06 ноября 2018

Qt не предназначен для компиляции из IDE. Однако это не значит, что это невозможно сделать. Есть два способа заархивировать это:


Первый подход: добавить сборку разработчика в виде пользовательского набора:

  1. Запустите сценарий configure (и добавьте параметр -developer-build)
  2. Откройте QtCreator и перейдите в «Инструменты> Параметры> Наборы»
  3. Перейдите в раздел «Qt Versions» и нажмите «Добавить» - выберите исполняемый файл qmake, сгенерированный скриптом configure. Затем нажмите «Применить»
  4. Перейдите в «Kits» и нажмите «Add» - убедитесь, что выбрали правильные компиляторы и отладчик и выберите ранее созданную «Qt Version». Нажмите "ОК"
  5. Откройте файл верхнего уровня .pro в QtCreator и выберите ранее созданный Kit. QtCreator теперь будет использовать правильный исполняемый файл qmake

Это «правильный» путь. Теперь вы можете использовать проект как любой обычный проект, включая изменения в pro-файлах. Кроме того, QtCreator теперь правильно определяет каталог сборки, поэтому вам не придется его менять, даже при открытии одного из модулей.


Второй подход: использовать как обычный проект без qmake:

  1. Запустите сценарий configure (и добавьте параметр -developer-build)
  2. Запустите make qmake_all в том же терминале, чтобы позволить Qt подготовить все make-файлы, создать заголовки и т. Д.
  3. Откройте файл верхнего уровня .pro в QtCreator. Вы можете выбрать любой комплект.
  4. Перейти к проекту> Ваш комплект > Построить и отключить шаг "qmake" (первый из двух шагов по умолчанию)
  5. Измените "каталог сборки", чтобы он был там, где вы собрали Qt - либо теневая сборка, либо каталог с исходным кодом
  6. Hit Build и QtCreator будут вызывать только make, архивируя то же поведение, что и запуск make с консоли.

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

Это также может быть полезно, если вы хотите вносить изменения только в один модуль Qt, без компиляции всей платформы Qt, т.е. вы можете клонировать один из подмодулей и использовать на нем свой «существующий» qmake вместо компиляции QtBase ( в этом случае вы пропустите шаг 4)


Последнее замечание: Когда я попытался открыть весь Qt-проект, QtCreator упал в моей системе, потому что проект был слишком большим для обработки. Я бы порекомендовал вам открыть только один из модулей в супер-репозитории, то есть "qtbase", "qtdeclarative" и т. Д.

...