Импорт существующих проектов

Особенности работы с проектами, не использующими сборочные системы CMake и qmake.

Введение
Подготовка проекта
Сборка проекта
Отладка проекта
Дополнительная настройка

Введение

В данной статье-инструкции будет продемонстрирована работа с проектом, построенным на базе рекурсивной сборочной системы ЗОСРВ "Нейтрино", с помощью графической среды разработки Qt Creator редакции КПДА. Аналогичный подход может быть применён и для других проектов, в т.ч. использующих нестандартные или самостоятельно разработанные файлы Makefile.


Note: Желательно наличие общего представления о принципах сборки проектов с помощью утилиты make, а также о синтаксисе файлов Makefile и common.mk, используемых в рекурсивной сборочной системе.

В качестве примера будет использована утилита pci-attach из открытого репозитория https://git.kpda.ru/utils/hw (репозиторий содержит исходный код некоторых вспомогательных утилит для работы с оборудованием в ЗОСРВ "Нейтрино").

Подготовка проекта

  1. Скачайте репозиторий

    $ git clone https://git.kpda.ru/utils/hw.git utils-hw

  2. Запустите среду разработки Qt Сreator редакции КПДА


    Note: Механизмы удалённого запуска и отладки приложений доступны только в составе Qt Creator редакции КПДА, входящего в Комплект Разработчика редакции 2021 (обновление от марта 2024 года и более поздние).

  3. Создайте новый проект (меню "Создать проект -> Импортировать проект -> Импорт существующего проекта")

    03_newproj_import.png
    Рисунок 1. Создание нового проекта на базе существующего

  4. Задайте имя проекта и местоположение файлов исходного кода.


    Note: Имя проекта выбирается произвольно и может не совпадать с именем каталога, содержащего файлы исходного кода.

    04_newproj.png
    Рисунок 2. Задание имени проекта

  5. Выберите файлы исходного кода проекта, которые Вы собираетесь в дальшейшем редактировать или исследовать

    05_files.png
    Рисунок 3. Выбор файлов

    Ключевые моменты:

  6. Выберите (при необходимости) параметры системы контроля версий и завершите создание проекта:

    06_vcs.png
    Рисунок 4. Завершение создания проекта

  7. Выберите нужный Комплект, соответствующий целевой платформе (архитектуре), для которой разрабатывается проект.


    Note: Проект может быть настроен под произвольное количество Комплектов (целевых платформ), но для начала рекомендуется выполнить пошаговую настройку под какой-то один комплект (например, для платормы x86).

    07_kits.png
    Рисунок 5. Выбор Комплектов


    Warning: При использовании режима "импорт существующего проекта" настройки Комплектов важны, в первую очередь, для получения средой разработки корректного перечня архитектурно-специфичных макроопределений компилятора и путей к заголовочным файлам. Эти данные в дальнейшем будут использоваться редактором исходного кода для подсветки блоков кода, организации быстрого перехода к местам определения переменных, макросов и т.д. Также выбор комплекта определяет, какой именно исполняемый файл отладчика (т.е. для какой целевой системы) использовать в режиме отладки приложения. При этом настройки комплекта (в частности, значения, выбранные в разделе "Компилятор") не влияют на то, какой именно компилятор будет использован при сборке проекта; явное указание версии компилятора может осуществляется только через параметры вызова команды make (см. пункт 8).

  8. Задайте корректный набор переменных для вызова команды make

    Для каждого выбранного в п.7 Комплекта необходимо уточнить перечень параметров, используемых при вызове утилиты make при построении ("make all") или очистке ("make clean") проекта для соответствующей целевой платформы. Необходимые изменения вносятся в подразделы "Сборка, этапы -> Сборка -> Параметры make" и "Очистка, этапы -> Сборка -> Параметры make" в меню настроек Комплектов:

    08_make_settings.png
    Рисунок 6. Настройка параметров сборки


    Note: Возможный список параметров определяется особенностями проекта и используемой сборочной системой (более подробная информация по параметрам рекурсивной сборочной системы доступна в соответствующем разделе Документации).

    Примеры значений поля "Параметры make" для Комплектов различных целевых платформ:

    Дополнительные примеры:


    Warning: В случае явного переопределения версии компилятора через параметры make настоятельно рекомендуется выбрать компилятор аналогичной версии и в свойствах Комплекта (чтобы параметры сборки соответствовали параметрам отображения исходного кода в Редакторе).

    Сборка проекта

  9. Выполните тестовую сборку проекта

    09_build.png
    Рисунок 7. Сборка проекта

  10. Задайте параметры для удалённого запуска и отладки

    Что необходимо сделать:


    Note: Вариант конфигурации запуска "Особая программа", предлагаемый средой разработки по умолчанию, при разработке приложений для ЗОСРВ "Нейтрино" не используется, поэтому его рекомендуется удалить с помощью соответствующей кнопки ("Удалить").

    Результат:

    10_remote_rundebug.png
    Рисунок 8. Настройка параметров запуска и отладки

  11. Выполните тестовый запуск проекта


    Note: Среда разработки автоматически загрузит файлы, перечисленные в разделе "Развёртывание", на целевую систему; копировать их вручную не требуется.


    Warning: Предварительно убедитесь, что в настройках выбранного Комплекта указан профиль устройства, соответствующий целевой системе, на которой предполагается запустить приложение. Если профиль устройства ещё не создан, добавьте его (см. пункт "Настройка конфигурации целевой системы" Документации.

    Результат запуска:

    11_testrun.png
    Рисунок 9. Запуск на целевой системе

    Отладка проекта

  12. Выполните модификацию проекта для сборки отладочной версии

    Варианты создания отладочной версии компонентов проекта:

    В рамках данного примера выбран первый вариант (создана отдельная конфигурация под названием "Отладочная"):

    12_add_debugconf.png
    Рисунок 10. Создание конфигурации запуска для режима отладки


    Warning: После внесения изменений в конфигурацию необходимо пересобрать проект и обновить файлы на целевой системе (выполнить операцию "Развернуть").

  13. Выполните тестовую отладку проекта

    Для простоты можно воспользоваться пунктом "Отладка -> Запустить и встать на Main" главного меню, чтобы среда разработки автоматически остановилась в начале функции main() приложения pci-attach.

    13_debugrun.png
    Рисунок 11. Запуск в режиме отладки

    Дополнительная настройка

  14. Дополнительная информация:

    Для того, чтобы Редактор среды разработки учитывал дополнительные параметры компилятора, макросы и т.д. (в случае их наличия в файле common.mk или других файлах сборочной системы), необходимо внести именения в соответствущие конфигурационные файлы проекта:

    14_extrainfo.png
    Рисунок 12. Дополнительные настройки проекта

    Данные файлы (пустые или с минимальным содержимым) автоматически создаются средой разработки в процессе импорта проекта. Их назначение:




Предыдущий раздел: Графическая среда разработки Qt Creator (редакция КПДА)