hell'oさん Visual Studio 2017 (enterprise)をインストールしたところ、Visual Studio 2015で作成した自分のプロジェクトを開きました。私のプロジェクトはwindows.hライブラリを使用していますが、VS2017はこのライブラリを見つけることができません。これを修復する方法は?
Visual Studio Installerを再実行し、[Modify"]ボタンを選択することでこの問題を解決することができました。ワークロード画面が表示されたら、「"Individual Components"」タブをクリックし、最新の「"Windows 10 SDK" Checkboxes」(バージョン10.0.15063.0)を全て選択しました。私の推測では、"Desktop C++ x86 and x64"の項目が実際に修正されるものだと思いますが、インストーラを実行したときにこれらのオプションはどれもチェックされておらず、ご覧のように私はすべてのオプションをチェックしたので推測に過ぎないでしょう。
これは、レガシーなプロジェクトでインクルード/ライブラリのパスをカスタマイズしている場合に発生します。プロジェクトのプロパティに独自の追加パスを追加した場合、VisualStudio 2017 はプラットフォーム/ツールセット間の切り替え時にベースパスを自動的に把握できません。通常は正しいパスを自動的に配置しますが、カスタマイズを追加した場合は VS がそれに触れることはありません。
これは、Windows XPをターゲットにした古いプロジェクトをVS2017に移行する際に、最近私自身が遭遇した正当な問題です。これまでのところ、ここに記載/リンクされている回答やコメントのどれも役に立ちません。私はVisualStudio2017のインストーラですべてのレガシーSDKを持っていますが、VSが<windows.h>
などの必須インクルードを見つけられないことを修正したものはありません。私の場合、プロジェクトはVS2013のv120ツールセットを使用していましたが、新しいVSではv140_xpに取って代わられています。
VS2017で理解できる正しいプラットフォームとツールセットを設定した後、以下のようにして問題を解決しました:
プロジェクトのプロパティを開き、「VC++ディレクトリ」の「'インクルード ディレクトリ」と「'ライブラリ ディレクトリ」の「'親またはプロジェクトのデフォルトから継承する」を選びます。これで、追加のパスが削除されます。
Apply'をクリックします。これにより、インクルードパスが「$(VC_IncludePath_x86);$(WindowsSdk_71A_IncludePath_x86)`」のようにリセットされます(SDKによって異なります)。
C/C++/一般 -> 追加インクルードディレクトリとリンカ/一般 -> 追加ライブラリディレクトリの下に、余分なパスをここに追加し直してください。
インストールが問題なかった場合は、ここにあります。
C:\ Program Files(x86)\ Windows Kits \ 10 \ Include \ 10.0.15063.0 \ um \ Windows.h。
したがって、それがプロジェクトプロパティのインクルードパスに含まれていることを確認してください。
。。
または、IncludeePath Tag行の.vcxprojファイルで手動で編集する場合:
<Includepath>$(VC_IncludePath);$(WindowsSDK_IncludePath);C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\shared;</Includepath>
この問題は、C ++プロジェクトを、より更新されたビジュアルスタジオバージョンから、より小さなバージョンに移行するときに発生します。 問題を解決するには、単にあなたのところに行きます。 プロジェクトのプロパティ-->一般--> SDKバージョン [ここでは、インストールされたSDKバージョンを表示するために展開して、利用可能なバージョンにダウングレードします{必要なバージョンが使用できないように見えるため、エラー}]。 利用可能なSDKの1つが選択されると、[適用]してコードに戻り、すべてが修正されます。
また、デフォルトの構成設定を使用して、最初にVisual Studio 2017(コミュニティ)をインストールしました。VisualStudio 2015で作成したプロジェクトを開きました。 私のプロジェクトではwindows.hライブラリを使用していますが、VS2017はこのライブラリやその他の問題を見つけることができません。 最初に不足しているものをインストールします(SDK 10。 ... 等.)コンポーネント。 問題の一部はなくなりましたが、windows.hはまだ見つかりません。 この問題は、VS2017を完全にアンインストールしてから、すべてのオプションを一度にインストールすることで解決されました。
私の解決策はパスをチェックすることでした。
ディレクトリを含める:
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um;
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\shared;
%(AdditionalIncludeDirectories)
ライブラリディレクトリ:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\lib\x64
次に、ソリューションエクスプローラーを右クリックします。ソリューション 'xxxxx'(1プロジェクト)行は、[ソリューションの再ターゲット]をクリックします。
シンボルフェッチのデバッグ設定を必ず設定してください-Windows 10はMicrosoftシンボルサーバーを使用する必要があります。!