Как избежать комбинаторного взрыва при настройке конфигураций проекта в Visual Studio - PullRequest
0 голосов
/ 26 мая 2020

Я знаю, что в Visual Studio можно настроить несколько конфигураций, чаще всего это отладка и выпуск.

В настоящее время у меня есть проект, в котором я могу включать / отключать определенные функции с помощью определений макросов, поэтому , например, если MACRO1 не установлен, часть кода не компилируется, что дает меньше отладочной информации, но работает быстрее. У меня есть несколько других макросов, которые включают и выключают различные аспекты приложения, и все они независимы друг от друга. Я хотел бы иметь возможность компилировать / запускать программу с включенной / отключенной любой их комбинацией. Есть поле

Configuration Properties -> C/C++ -> Preprocessor Definitions

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

Для 4 вариантов это означает, что мне нужно создать 16 немного разных конфигураций, чтобы охватить все возможные комбинации макросов определены и не определены. С большим количеством опций ситуация становится только хуже.

Или я мог бы иметь одну конфигурацию, но потом вручную изменять ее каждый раз, когда мне нужно было определить другое подмножество макросов.

Или, наконец, я мог бы создать своего рода главный файл заголовка со всеми определенными там макросами и включающий его в начало каждого другого файла заголовка. Тогда я мог бы просто закомментировать макросы, которые я не хочу определять, и скомпилировать / запустить их.

Есть ли лучший способ выполнить sh это, где-нибудь, где я могу быстро включить или отключить определения макросов без слишком много хлопот и необходимость создавать заголовок, который нужно включать в каждый файл? Какой-то параметр в Visual Studio, где я могу просто поставить / снять отметку?

...