Я не думаю, что есть простой способ иметь один переключатель конфигурации решения между созданием различных конфигураций проекта;если я правильно понимаю, вы хотите
mySolution:debug -> myProject:debug, 3rdParty:debug_shared, ...
и в другой момент времени
mySolution:debug -> myProject:debug, 3rdParty:debug_static, ...
Вы можете вручную или даже с помощью макросов изменять конфигурацию сборки для решения при каждом построениино разве это не утомительно?
Если вы следуете пути Visual Studio, вы создаете дополнительные конфигурации решений и изменяете настройки в сборке Configuration Manager, чтобы они соответствовали настройкам третьей части.
mySolution:debug_shared -> myProject:debug, 3rdParty:debug_shared, ...
mySolution:debug_static -> myProject:debug, 3rdParty:debug_static, ...
Это никак не меняет конфигурацию вашего собственного проекта, и переключаться между ними относительно легко.
Редактировать : если ваш проект зависит от этого третьего-партийная библиотека, тогда разве ей не нужны две конфигурации?Предположим, что ваш проект хочет использовать стороннюю статическую библиотеку, тогда компоновщик должен знать его имя и путь.С другой стороны, если вы хотите использовать DLL, компоновщик должен знать другое имя / путь.Как вы переключаетесь между этими двумя, не имея две конфигурации?В какой-то момент вам нужно будет указать компоновщику, какую библиотеку использовать, так что вы просто получите что-то вроде
mySolution:debug_shared -> myProject:debug_using_shared_3rdparty, 3rdParty:debug_shared, ...
mySolution:debug_static -> myProject:debug_using_static_3rdparty, 3rdParty:debug_static, ...