Поскольку в Visual Studio термин «проект» определен как сущность (набор исходных файлов), которая испускает один двоичный артефакт сборки (dll / exe / static) lib / ...).
Примечание. Проект на самом деле может генерировать и создает разные двоичные артефакты (отладка против выпуска или конфигурация-xy), но обычно все из одного и того же набора исходных файлов.
Если вы хотите создать более одного исполняемого файла с изменяющимся, но перекрывающимся набором исходных файлов, то вам следует разбить ваше решение на несколько проектов:
- Перекрывающиеся наборы исходных файлов входят в проект (ы), генерируя статические библиотеки (или DLL, если хотите)
- Уникальный набор исходных файлов для каждого исполняемого файла входит в отдельный проект для каждого исполняемого файла, и каждый исполняемый проект ссылается на проект (ы) static-lib.