2017-01-25 6 views
1

코드를 변경할 수 없습니다. 그래서 #pragma을 사용할 수 없습니다. 그래서 내 질문은 내가 함수의 경고를 해제하려면 컴파일러에 전달해야 할 전 처리기 정의 무엇입니까 GetVersionExW?"GetVersionExW"경고를 사용하지 않도록 설정하는 전처리 정의 : 사용되지 않음으로 선언되었습니다. "

내가 시도 :

  • _CRT_SECURE_NO_WARNINGS

  • _CRT_NONSTDC_NO_DEPRECATE

  • _WINSOCK_DEPRECATED_NO_WARNINGS

  • _CRT_SECURE_NO_DEPRECATE

+0

해당 기능/매크로를 사용하지 마십시오. Windows 8.1에서는 사용할 수 없습니다. – Danh

+0

_ 코드를 변경할 수 없습니다 _ : 왜이 ​​요구 사항을 갖고 있습니까? –

+0

나는 pragma없이 나머지를 풀 수 있고 #ifdef – Schafwolle

답변

1

이 시도 :

#pragma warning(disable: <warning number>) 
+1

그는 쓴 : _ 나는 코드를 변경할 수 없습니다. 그래서 #pragma를 사용할 수 없습니다 ._ (아직) downvoted. –

+0

실제로 OP의 (다소 이상한) 요구 사항을 충족시키지 못하더라도 대답이 여전히 정확하기 때문에 나는 다운 다운하지 않을 것입니다. –

+0

괴롭히지 않아서 죄송합니다. 나는 그 모든 것을 이미 알고 그걸 피하려고 노력했다. +1 – Schafwolle

4

전화 GetVersionExW__declspec(deprecated)를 사용하여 선언 된 API. 특정 API 호출에 대한 경고를 비활성화하는 방법은 없습니다.

귀하의 유일한 옵션은 프로젝트 설정에서 세계적으로 각각의 헤더 파일, 또는 (컴파일러 옵션 /wd)를 포함하기 전에 중 하나 전처리 pragma warning을 통해, 모두 Warning C4996을 해제하는 것입니다.