У меня есть статическая библиотека, которая используется в производственном коде и тестовом коде. Я хочу иметь возможность вводить тестовые данные, только если я создаю тестовый .exe. Я хотел бы сделать это, используя препроцессор #define, а не конфигурации MSVS (например, отладка или выпуск), потому что я тестирую производительность. Отладочные сборки отключают оптимизацию, что очень удобно во время отладки, но не очень хорошо, когда я хочу проверить производительность.
В качестве примера предположим, что у меня есть проекты Foo.lib, Production.exe и Test.exe в MSVS. Production.exe и Test.exe ссылаются на Foo.lib. Я хотел бы, чтобы Production.exe и Test.exe перестраивали Foo.lib с соответствующими определениями препроцессора, поэтому код в Foo.lib будет условно компилироваться в зависимости от того, для какого исполняемого файла он предназначен.
Я открыт для других решений и надеюсь, что ясно изложил свою проблему. Первый пост о переполнении стека.