Предупреждение как ошибка - Как избавиться от этих - PullRequest
74 голосов
/ 26 марта 2010

Я не могу понять, как избавиться от ошибок, которые в принципе не должны мешать моей компиляции в Visual Studio 2010 и не должны показывать пробки, или, по крайней мере, я исправлю их позже, но я не не хочу, чтобы компиляция просто вызвала ошибку и остановилась на подобных проблемах.

Например, я получаю следующую ошибку:

Ошибка 1 Предупреждение как ошибка: комментарий XML на 'ScrewTurn.Wiki.SearchEngine.Relevance.Finalize (поплавок)' имеет тег paramref для IsFinalized, но нет параметра с таким именем C: \ WWW \ Wiki \ Screwturn3_0_2_509 \ Поисковик \ Relevance.cs 60 70 SearchEngine

для этого кода:

  /// <summary>
  /// Normalizes the relevance after finalization.
  /// </summary>
  /// <param name="factor">The normalization factor.</param>
  /// <exception cref="InvalidOperationException">If <paramref name="IsFinalized"/> is <c>false</c> (<see cref="M:Finalize"/> was not called).</exception>
  public void NormalizeAfterFinalization(float factor) {
      if (factor < 0)
          throw new ArgumentOutOfRangeException("factor", "Factor must be greater than or equal to zero");

      if (!isFinalized)
          throw new InvalidOperationException("Normalization can be performed only after finalization");
      value = value * factor;
  }

Я посмотрел в меню Инструменты -> Опции , и я не вижу, где можно настроить компилятор и сказать ему, чтобы он не беспокоился об ошибках на основе комментариев или XHTML.

Ответы [ 6 ]

131 голосов
/ 26 марта 2010

Каждый проект в Visual Studio имеет опцию «обрабатывать предупреждения как ошибки». Просмотрите каждый из ваших проектов и измените настройку:

  1. Щелкните правой кнопкой мыши по своему проекту, выберите «Свойства».
  2. Нажмите «Построить».
  3. Переключить «Обрабатывать предупреждения как ошибки» со «Все» на «Особые предупреждения» или «Нет».

Расположение этого переключателя зависит от типа проекта (например, библиотека классов или веб-приложение).

10 голосов
/ 26 августа 2016

Чтобы Visual Studio Express 2013 избавился от этой проблемы, вам нужно сделать следующее.

Щелкните правой кнопкой мыши по вашему проекту и выберите Свойства. В окне свойств из левого меню выберите Свойства конфигурации-> C / C ++ -> General

В правой части выберите

Считать предупреждение ошибкой НЕТ

и

SDL Проверяет NO

5 голосов
/ 26 сентября 2016

Верхний ответ устарел для Visual Studio 2015.

английский

Configuration Properties -> C/C++ -> General -> Treat Warning As Errors

Немецкий

Konfigurationseigenschaften -> C/C++ -> Allgemein -> Warnungen als Fehler behandeln

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

enter image description here

1 голос
/ 10 июля 2013

Обрабатывать все предупреждения компилятора как ошибки компиляции

  1. Выбрав проект в обозревателе решений, в меню Проект выберите команду Свойства.
  2. Перейдите на вкладку «Компиляция». (или там может быть вкладка Build)
  3. Установите флажок Обрабатывать все предупреждения как ошибки. (или выберите параметр сборки и измените настройки «обрабатывать предупреждения как ошибки» на true.)

и если вы хотите избавиться от него

Чтобы отключить все предупреждения компилятора

  1. Выбрав проект в обозревателе решений, в меню "Проект" выберите "Свойства".
  2. Перейдите на вкладку «Компиляция». (или там может быть вкладка Build)
  3. Установите флажок Отключить все предупреждения. (или выберите настройку сборки и измените настройки «обрабатывать предупреждения как ошибки» на false.)
0 голосов
/ 24 августа 2018

Вы можете контролировать поведение в заголовочном файле или C-файле:

#pragma warning(error:4003) //not enough actual parameters for macro

все еще тестируется с Visual Studio 2015. У меня есть общий файл заголовка 'compl_adaption.h' для таких вещей, включенный во все файлы, чтобы установить это поведение для всех моих проектов, скомпилированных в Visual Studio.

0 голосов
/ 02 июня 2017

В свойствах,

Перейдите в Свойства конфигурации. В этом перейти к C / C ++ (или что-то в этом роде). , Затем нажмите Общие , Для этого снимите флажок «Обрабатывать предупреждение как ошибки»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...