Предупреждение как ошибка - как избавиться от этих
Я не могу понять, как избавиться от ошибок, которые в основном не должны останавливать мою компиляцию в Visual Studio 2010 и не должны быть show stoppers, или, по крайней мере, я исправлю их позже, но я не хочу, чтобы компиляция просто ошиблась и остановилась на таких проблемах.
Например, я получаю следующую ошибку:
Ошибка 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.
Ответы
Ответ 1
В каждом проекте в Visual Studio есть опция "предупреждать об ошибках как ошибки". Пройдите через каждый из ваших проектов и измените этот параметр:
- Щелкните правой кнопкой мыши проект, выберите "Свойства".
- Нажмите "Создать".
- Переключатель "Отслеживать предупреждения как ошибки" от "Все" до "Особые предупреждения" или "Нет".
Местоположение этого переключателя зависит от типа проекта (например, библиотеки классов и веб-приложений).
Ответ 2
Для Visual Studio Express 2013, чтобы избавиться от этой проблемы, вы должны сделать следующее.
Щелкните правой кнопкой мыши на своем проекте, щелкнув "Свойства". В окне свойств из меню слева выберите
Свойства конфигурации- > C/С++ → Общие
В правой части выберите
Лечить предупреждение как ошибки NO
и
SDL проверяет NO
Ответ 3
Лучший ответ устарел для Visual Studio 2015
.
Английский:
Configuration Properties -> C/C++ -> General -> Treat Warning As Errors
Немецкий:
Konfigurationseigenschaften -> C/C++ -> Allgemein -> Warnungen als Fehler behandeln
Или используйте это изображение для справки, чтобы легче было быстро мысленно определить местоположение:
![enter image description here]()
Ответ 4
Обрабатывать все предупреждения компилятора как ошибки компиляции
- Выбрав проект в обозревателе решений, в меню "Проект" выберите "Свойства".
- Нажмите на вкладку "Компиляция". (или вкладка Build может быть там)
- Установите флажок Обрабатывать все предупреждения как ошибки. (или выберите параметр сборки и измените настройки "обрабатывать предупреждения как ошибки" на true).
и если вы хотите избавиться от этого
Чтобы отключить все предупреждения компилятора
- Выбрав проект в обозревателе решений, в меню "Проект" выберите "Свойства".
- Перейдите на вкладку "Компиляция". (или вкладка Build может быть там)
- Установите флажок "Отключить все предупреждения". (или выберите параметр сборки и измените настройки "обрабатывать предупреждения как ошибки" на false.)
Ответ 5
В свойствах
Перейдите в раздел Свойства конфигурации. В этом перейдите на C/С++ (или что-то в этом роде)., Затем нажмите "Общие"., При этом снимите флажок в поле "Предупреждать об ошибке как ошибки"
Ответ 6
Вы можете контролировать поведение в заголовочном файле или C файле:
#pragma warning(error:4003) //not enough actual parameters for macro
Я тестировал его в Visual Studio 2015. У меня есть общий файл заголовка 'compl_adaption.h' для таких вещей, включенный во все файлы, чтобы установить это поведение для всех моих проектов, скомпилированных в Visual Studio.