«Считать все предупреждения ошибками, кроме…» в проекте C ++ / CLI - PullRequest
1 голос
/ 26 мая 2020

В C# проектах (.csproj файлы), можно рассматривать все предупреждения как ошибки , за исключением определенного c набора предупреждений . Как правило, это имеет смысл для предупреждений устаревших / устаревших , поскольку они предназначены специально для того, чтобы не прервать сборку при объявлении о предстоящем изменении API.

Возможно ли то же самое как-то для проектов C ++ / CLI, т.е. в файлах .vcxproj?

(я имею в виду, что C4947 отображается как предупреждение, несмотря на все остальные предупреждения рассматриваются как ошибки.)

Ответ от 2017 предполагает, что это невозможно для простых проектов C ++, скомпилированных компилятором Microsoft с помощью переключателя компилятора. Однако я надеюсь, что формат .vcxproj Xml будет поддерживать какой-либо элемент, вызывающий такое поведение.

Я попытался вставить элемент <WarningsNotAsErrors>4947</WarningsNotAsErrors> из файла .csproj в .vcxproj файл, но это не поможет. Кроме того, увидев, что <TreatWarningsAsErrors> из файла .csproj называется <TreatWarningAsError> в .vcxproj (то есть в единственном числе вместо множественного), я попробовал <WarningNotAsError>4947</WarningNotAsError>, но безрезультатно.

Я прочитал некоторые советы об обработке только определенных c предупреждений как ошибок, но это, конечно, не жизнеспособное решение. Существуют сотни, если не тысячи предупреждений (возможно, даже больше в будущих версиях компилятора), все из которых я хочу рассматривать как ошибки, кроме для одного.

...