Qt не предназначен для компиляции из IDE. Однако это не значит, что это невозможно сделать. Есть два способа заархивировать это:
Первый подход: добавить сборку разработчика в виде пользовательского набора:
- Запустите сценарий
configure
(и добавьте параметр -developer-build
)
- Откройте QtCreator и перейдите в «Инструменты> Параметры> Наборы»
- Перейдите в раздел «Qt Versions» и нажмите «Добавить» - выберите исполняемый файл qmake, сгенерированный скриптом configure. Затем нажмите «Применить»
- Перейдите в «Kits» и нажмите «Add» - убедитесь, что выбрали правильные компиляторы и отладчик и выберите ранее созданную «Qt Version». Нажмите "ОК"
- Откройте файл верхнего уровня
.pro
в QtCreator и выберите ранее созданный Kit. QtCreator теперь будет использовать правильный исполняемый файл qmake
Это «правильный» путь. Теперь вы можете использовать проект как любой обычный проект, включая изменения в pro-файлах. Кроме того, QtCreator теперь правильно определяет каталог сборки, поэтому вам не придется его менять, даже при открытии одного из модулей.
Второй подход: использовать как обычный проект без qmake:
- Запустите сценарий
configure
(и добавьте параметр -developer-build
)
- Запустите
make qmake_all
в том же терминале, чтобы позволить Qt подготовить все make-файлы, создать заголовки и т. Д.
- Откройте файл верхнего уровня
.pro
в QtCreator. Вы можете выбрать любой комплект.
- Перейти к проекту> Ваш комплект > Построить и отключить шаг "qmake" (первый из двух шагов по умолчанию)
- Измените "каталог сборки", чтобы он был там, где вы собрали Qt - либо теневая сборка, либо каталог с исходным кодом
- Hit Build и QtCreator будут вызывать только
make
, архивируя то же поведение, что и запуск make с консоли.
Это своего рода обходной путь, и я бы не рекомендовал использовать его для полной сборки Qt, если только первый подход не работает для вас по какой-либо причине.
Это также может быть полезно, если вы хотите вносить изменения только в один модуль Qt, без компиляции всей платформы Qt, т.е. вы можете клонировать один из подмодулей и использовать на нем свой «существующий» qmake вместо компиляции QtBase ( в этом случае вы пропустите шаг 4)
Последнее замечание: Когда я попытался открыть весь Qt-проект, QtCreator упал в моей системе, потому что проект был слишком большим для обработки. Я бы порекомендовал вам открыть только один из модулей в супер-репозитории, то есть "qtbase", "qtdeclarative" и т. Д.