2017-01-25 19 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なしで残りを解くことができるので#ifdef – Schafwolle

答えて

1

これを試してみてください:

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

彼は次のように書いています:_私はコードを変更できません。 #pragma._を使用することはできません。(まだ)downvotedしていません。 –

+0

実際には、OPの(幾分奇妙な)要件を満たしていなくても、答えが正しいので、私はダウンボートしません。 –

+0

ストランに申し訳ありません。私はちょうどその答えを知っており、それを避けようとしました。 +1 – Schafwolle

4

API呼び出しGetVersionExW__declspec(deprecated)を使用して宣言されています。特定のAPI呼び出しの警告を無効にする方法はありません。

Warning C4996は、それぞれのヘッダーファイルを含める前にプリプロセッサpragma warningを使用するか、プロジェクト設定(コンパイラオプション/wd)でグローバルに無効にするだけです。

関連する問題