Qt Creator, как запускать проекты SUBDIRS

Я уже давно пользуюсь Qt Creator, и мой проект становится достаточно большим, и я бы хотел перейти к использованию СУБДИРЫ Qt Тип шаблона, чтобы лучше организовать мой растущий проект.

Структура моего проекта похожа на следующую

/master
|--- master.pro
`--- project1
|    |--- project1.pro
|    `--- ... (source files specific to project1)
`--- project2
|    |--- project2.pro
|    `--- ... (source files specific to project2)
`--- shared
`--- ... (source files shared between project1 and project2)

И project1, и project2 являются отдельными независимыми проектами, но в них есть некоторые исходные / заголовочные файлы, которые они совместно используют для удобства и удобства сопровождения в общей папке.

Большая часть моего времени разработки в основном уходит на работу с общими файлами и проектом1. Поэтому, когда я делаю изменения в общих файлах, и project1, и project2 должны, в конце концов, быть обновлены для работы с этими общими файлами.

Моя проблема, скажем, я только что внес изменения в общие файлы и проект1, но еще не обновил проект2. Как мне из QtCreator запустить project1, чтобы я мог проверить свои изменения? Очевидно, что в конце дня / недели / месяца я исправлю project2 для работы с этими изменениями, но как мне запустить project1 в это время?

введите описание изображения здесь

Если я щелкну правой кнопкой мыши на project1, он покажет вариант «запустить». Однако, чтобы это работало здесь, весь «master.pro» должен иметь возможность компилироваться без ошибок.

Я знаю, как обходной путь, я мог бы просто загрузить project1.pro сам по себе, но я бы хотел загрузить master.pro и запустить его из подпроекта.

Любая помощь по этому вопросу будет принята с благодарностью.

3

Решение

Не все мои проекты готовы к запуску кода, как я могу выбрать один проект для
запустить, имея root-проект subdir?

Вы можете поддерживать несколько TEMPLATE = app проекты для запуска частей вашего кода, скажем, модульные тесты для выбранных библиотек, а также для всего графического интерфейса приложения. И попробуйте выделить как можно больше общего кода в TEMPLATE = lib типы проектов. Будь то lib Тип проекта должен быть статической библиотекой или динамическим с DEFINES += SHAREDLIB_LIBRARY это еще один вопрос, и ответ зависит от того, как вы распространяете приложение. Я поддерживаю мой текущий subdir проект со многими динамическими библиотеками, чтобы предотвратить их постоянное связывание с исполняемым файлом из-за ограничений памяти.

Откройте меню «Проекты» и убедитесь, что Run Configuration указывает на проект приложения, который содержит основную функцию и имеет:

# app.pro file contains
TEMPLATE = app

а также

# unit_test1.pro file contains
TEMPLATE = app

Если некоторые из ваших проектов не скомпилируются, исключите их из subdirs проект:

TEMPLATE = subdirs
SUBDIRS = lib unit-test
# SUBDIRS = lib unit-test app # app not ready
# app.depends = lib # may exclude dependcies
unit-test.depends = lib

Выберите «Запустить конфигурацию» для запуска проектов ниже:

введите описание изображения здесь

Постскриптум Не забудьте запустить qmake после изменения файла проекта.

2

Другие решения

Просто Создайте ваше «мастер-приложение». Затем отредактируйте файл .pro из этих приложений:

TEMPLATE = subdirs

но прежде чем делать что-то еще! Это важно!

Вы можете удалить все исходные файлы

SOURCES += \ ...
HEADERS += \ ...
FORMS += \ ...
etc

Но это ваше мастер-приложение! Просто профиль! хорошо, и yourappname.pro.user 😉
Позже вы можете добавить е.е. окно-приложение.

затем Вы можете создать другой проект, например длл. Для этого нового подобъекта вы можете выбрать любой каталог, который вам нужен 🙂

Для добавления: щелкните правой кнопкой мыши «master-app» и выберите «Add subproject» из контекстного меню.

Последний шаг, перед тем как закрыть «новый подпроект-диалог», вы должны выбрать мастер-проект в выпадающем списке.

Это оно! Больше не обязательно

0

По вопросам рекламы [email protected]