Я работаю над тем, чтобы мое приложение было реализовано с использованием системы плагинов.
Это приводит к тому, что у меня есть основное приложение EXE (или DLL, но я не думаю, что это нужно), которое экспортирует все символы для основной функциональности.
Затем у меня есть плагины DLL, которые нужно экспортировать только IPlugin* createPlugin();
поэтому плагин может быть динамически загружен во время выполнения и связываться с основным приложением для утилит и методов классов (я не планирую оборачивать их все в виртуальные интерфейсы для работы через IPlugin, и в любом случае есть вещи, которые действительно приносят пользу от встраивания).
Правильно построить это достаточно просто, создайте приложение, чтобы получить lib импорта, а затем создайте плагины.
Однако проблема, которую я хотел бы решить, заключается в том, что если я нахожусь в MSVC IDE и у меня есть приложение в качестве стартового проекта, и я запускаю его («Start [Without] Debugging»), я хочу убедиться, что любые плагины проектируются. сначала соберите полностью (только чтобы избежать ошибок разработчиков, которые заканчиваются старым кодом).
Вы можете установить для запуска проекта псевдопроект, который зависит от всех остальных, и его «исполняемый файл для отладки» в конфигурации проекта установлен на выход основного приложения.
Сервис -> Параметры -> Проекты и решения -> Построение и запуск -> (снимите флажок) Создавать только запускаемые проекты и зависимости только при запуске.