Visual C ++ Избежание или управление циклической зависимостью проекта в MSVC

Я работаю над тем, чтобы мое приложение было реализовано с использованием системы плагинов.

Это приводит к тому, что у меня есть основное приложение EXE (или DLL, но я не думаю, что это нужно), которое экспортирует все символы для основной функциональности.

Затем у меня есть плагины DLL, которые нужно экспортировать только IPlugin* createPlugin(); поэтому плагин может быть динамически загружен во время выполнения и связываться с основным приложением для утилит и методов классов (я не планирую оборачивать их все в виртуальные интерфейсы для работы через IPlugin, и в любом случае есть вещи, которые действительно приносят пользу от встраивания).

Правильно построить это достаточно просто, создайте приложение, чтобы получить lib импорта, а затем создайте плагины.

Однако проблема, которую я хотел бы решить, заключается в том, что если я нахожусь в MSVC IDE и у меня есть приложение в качестве стартового проекта, и я запускаю его («Start [Without] Debugging»), я хочу убедиться, что любые плагины проектируются. сначала соберите полностью (только чтобы избежать ошибок разработчиков, которые заканчиваются старым кодом).

0

Решение

Вы можете установить для запуска проекта псевдопроект, который зависит от всех остальных, и его «исполняемый файл для отладки» в конфигурации проекта установлен на выход основного приложения.

1

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

Сервис -> Параметры -> Проекты и решения -> Построение и запуск -> (снимите флажок) Создавать только запускаемые проекты и зависимости только при запуске.

0

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