오류로 경고-제거하는 방법


91

기본적으로 내 컴파일을 중단해서는 안되는 오류를 제거하는 방법을 알 수 없습니다. Visual Studio 2010 , 표시 스토퍼가되어서는 안됩니다. 이런 종류의 문제를 중단하십시오.

예를 들어 다음과 같은 오류가 발생합니다.

Error 1 Warning as Error : 'ScrewTurn.Wiki.SearchEngine.Relevance.Finalize (float)'의 XML 주석에 'IsFinalized'에 대한 paramref 태그가 있지만 해당 이름의 매개 변수가 없습니다. C : \ www \ Wiki \ Screwturn3_0_2_509 \ SearchEngine \ 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 기반 오류에 대해 걱정하지 말라고 지시했습니다.


11
"그냥 코드를 고쳐라"는 질문이 아닙니다.
orfdorf

답변:


153

Visual Studio의 각 프로젝트에는 "경고를 오류로 처리"옵션이 있습니다. 각 프로젝트를 살펴보고 해당 설정을 변경하십시오.

  1. 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 "속성"을 선택합니다.
  2. "Build"를 클릭합니다.
  3. "경고를 오류로 처리"를 "모두"에서 "특정 경고"또는 "없음"으로 전환합니다.

이 스위치의 위치는 프로젝트 유형 (예 : 클래스 라이브러리 대 웹 애플리케이션)에 따라 다릅니다.


1
숨길 수있는 곳이 쉿. 나는 모든 곳을 보았지만 프로젝트 아래에 있었다.
nportelli 2011

1
누구든지 VS2012의 새로운 솔루션을 알고 있습니까?
bobble14988

1
VS2012, @ bobble14988의 동일한 솔루션입니다.
Michael Petrotta 2012 년

6
@ bobble14988 VS2012에서는 프로젝트 속성-> C / C ++-> 일반
Hanan N.

1
VS 2017이 All에서 None으로의 변화를 왜 존중하지 않는지 궁금합니다. 나는 그것을 뒤집고, 모든 것을 저장하고, 청소하고, 재건하고, VS를 종료하고, 청소하고, 광고 구역질을 다시 만들었지 만 경고는 여전히 오류입니다. csproj 파일이 false해당 설정에 적합합니다. 도대체 이것이 계속 잘못된 곳입니까 ??? 나는 MS 개발자가 버그를 도입하는 우수한 능력을 포기하기 전에 포기합니다.
ajeh

13

Visual Studio Express 2013에서 이러한 문제를 제거하려면 다음을 수행해야합니다.

프로젝트를 마우스 오른쪽 버튼으로 클릭하고 속성을 클릭합니다. 왼쪽 메뉴의 속성 창에서 구성 속성-> C / C ++-> 일반을 선택합니다.

오른쪽에서 선택

경고를 오류로 처리

SDL 확인 아니요


1
디스 에이블 SDL Checks비주얼 스튜디오 2015에 나를 위해 일한 (I 오류로 처리 된 중단 경고했다)
케빈 스미스

6

에 대한 상위 답변은 구식입니다 Visual Studio 2015.

영어:

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

독일 사람:

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

또는이 이미지를 참조로 사용하면 정신적으로 위치를 더 쉽게 파악할 수 있습니다.

여기에 이미지 설명 입력


1

헤더 파일 또는 C 파일의 동작을 제어 할 수 있습니다.

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

아직 Visual studio 2015로 테스트했습니다. 모든 파일에 포함 된 이러한 항목에 대한 공통 헤더 파일 'compl_adaption.h'를 사용하여 Visual Studio에서 컴파일 된 모든 프로젝트에 대해이 동작을 설정합니다.


1

모든 컴파일러 경고를 컴파일 오류로 처리하려면

  1. 솔루션 탐색기에서 프로젝트를 선택한 상태에서 프로젝트 메뉴에서 속성을 클릭합니다.
  2. 컴파일 탭을 클릭하십시오. (또는 빌드 탭이있을 수 있습니다)
  3. 모든 경고를 오류로 처리 확인란을 선택합니다. (또는 빌드 설정을 선택하고 "경고를 오류로 처리"설정을 true로 변경합니다.)

그리고 당신이 그것을 제거하고 싶다면

모든 컴파일러 경고를 비활성화하려면

  1. 솔루션 탐색기에서 프로젝트를 선택한 상태에서 프로젝트 메뉴에서 속성을 클릭합니다.
  2. 컴파일 탭을 클릭하십시오. (또는 빌드 탭이있을 수 있습니다)
  3. 모든 경고 비활성화 확인란을 선택합니다. (또는 빌드 설정을 선택하고 "경고를 오류로 처리"설정을 false로 변경합니다.)

0

속성에서

구성 속성으로 이동합니다. C / C ++ (또는 이와 비슷한 것)로 이동합니다. , 그런 다음 일반을 클릭하고 "경고를 오류로 처리"확인란을 선택 취소합니다.


0

VS 2019

VS2019를 사용하는 사람들에게만 다른 답변도 같은 위치를 지적하고 있다고 생각합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.