_WIN32_WINNT not defined. Defaulting to _WIN32_WINNT_MAXVER (see WinSDKVer.h)
このエラーは、コンパイル中にポップアップし続けます。コンパイルには影響しないようですが、どのように取り除かなければなりませんか?私はそれを無視して何かを危険にさらしていますか?_WIN32_WINNTを削除するには警告が定義されていませんか?
_WIN32_WINNT not defined. Defaulting to _WIN32_WINNT_MAXVER (see WinSDKVer.h)
このエラーは、コンパイル中にポップアップし続けます。コンパイルには影響しないようですが、どのように取り除かなければなりませんか?私はそれを無視して何かを危険にさらしていますか?_WIN32_WINNTを削除するには警告が定義されていませんか?
これは、WinSDKVer.hによって定義されています。したがって、ソースコードの先頭に明示的に定義するだけです(たとえばstdafx.hの冒頭)、警告を取り除きます。
(WinSDKVer.hの_WIN32_WINNT_MAXVER
と比較して)同じ値に定義しておくと、何かを破壊する可能性はほとんどありません。例えば
、Windows 7との.NET Framework 3.5 Service Pack 1用のWindows®ソフトウェア開発キット(SDK)のWinSDKVer.hは含まれています
あなたがしたい最古のWindowsオペレーティングシステムに設定し// This list contains the highest version constants supported by content
// in the Windows SDK.
// [...]
#define _WIN32_WINNT_MAXVER 0x0601
実行するプログラム。 可能な値は、このMSDNの記事Using the Windows Headersに記載されています。
あなたは、または のVisual C++でサポートされている
/D
コンパイラオプションを指定することにより、各 ソースファイル内#define
ステートメントを使用して、これらのシンボルを定義することができます。例えば、 次のステートメントを使用、ソースファイルに
WINVER
を設定するには:#define _WIN32_WINNT 0x0502 // Windows Server 2003 with SP1, Windows XP with SP2
設定するには、次のステートメントを使用し、ソースファイルに
_WIN32_WINNT
を設定するには#define WINVER 0x0502 // Windows Server 2003 with SP1, Windows XP with SP2
を
_WIN32_WINNT
/D
コンパイラオプションを使用する場合は、次のコマンドを使用します。cl -c /D_WIN32_WINNT=0x0502 source.cpp
注:#define _WIN32_WINNT
は、 "stdafx.h"を含む任意のヘッダーファイルの前にとしてください。の前に発生する必要があります。
私はStdAfx.hにほぼ最初から追加することをお勧めします。各OSの値の一覧を示します。 http://msdn.microsoft.com/en-us/library/aa383745%28VS.85%29.aspx –