Windows 10で動作するラップトップにVisual Studio 2015をインストールしました。
同じバージョンのVisual Studio(update 3)で作成されたソリューションで、常にWindows 10を使用して、別のPCでリポジトリを複製しました。
ラップトップでソリューションを構築しようとすると、次のエラーが表示されます。
c:\program files (x86)\Microsoft visual studio 14.0\vc\include\crtdefs.h(10): fatal error C1083: Cannot open include file: 'corecrt.h': No such file or directory
このページ では、インクルードパスに$(UniversalCRT_IncludePath)
を追加する必要があることを読みましたが、この場合でも同じエラーが発生します。
確認したところ、$(UniversalCRT_IncludePath)
は次のパスを参照しています。
C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt
私のラップトップにはこのパスがありません。代わりに私はこれを持っています:
C:\Program Files (x86)\Windows Kits\10\Include\10.0.10150.0\ucrt
そのため、ウィンドウのバージョンが異なるようです。おそらくこれは本当です。私のラップトップには1511ウィンドウのアップグレードをインストールしなかったのに対し、他のPCにはすべて正しくインストールされているからです。
私の質問は、パスで混乱することなく、両方のPCでcorecrt.h
ファイルを参照する方法です。これらのパスはpcに依存するため、これらのパスをハードリンクしないようにしたいと思います。また、システムに依存する必要があり、ソリューションにケーブル接続しないことを考慮して、ラップトップでパスが間違っている理由がわかりません。
この問題を解決するにはどうすればよいですか?私はラップトップを同じWindowsバージョンに更新できることを知っていますが、多くの理由でそれを避けたいです。
-編集
私はこの道があることに気づきました:
C:\Program Files (x86)\Windows Kits\8.1\Include\10.0.10240.0\ucrt
同じ10.0.10240.0
バージョンを持っていますが、別のWindowsキットバージョンに関連しているため、この場合には何らかの問題があるかもしれません。私のラップトップでもVisual Studio 2013を使用しているので、おそらくそこから来たのかもしれませんが、Visual Studio 2013で別のプロジェクトを維持しているため、削除できません。
おそらくVisual Studio 2015フォルダーで、.batファイル(vcvarsall.batまたはsimiliar)で$(UniversalCRT_IncludePath)
を明示的に設定できますが、どのファイルでどの位置にあるのかわかりません。
Visual Studio 2017の場合:
おそらくすでにこれを修正していますが、誰か他の人が来たら、ヒント here に従って解決しました。
基本的に、次のシステム環境変数を設定します。
INCLUDE="C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt"
LIB="C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10240.0\um\x64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10240.0\ucrt\x64"
おそらくベストプラクティスの方がはるかに優れた方法がありますが、それを超高速で修正するだけでうまくいきました。
同じ問題がありました。ここで答えを試しました。 100%うまくいきませんでした。私が見つけたのは、2017 Community Edition(現在使用している)にはVC++ 2015ツールセット(x86、x64)が必要ですが、includeリンクまたはlibリンクを追加しないことです。
宜しくお願いします。
プロジェクトのプロパティを確認してみてください(メニュープロジェクト>プロパティ)。 [構成プロパティ]> [全般]で、[プラットフォームツールセットおよびWindows SDKバージョン(プラットフォームツールセット> VS2015を使用している場合)]を確認します。
Visual Studioのインストール中に何かが足りなかったのかもしれません。 VC++ツールセットの選択を忘れたかどうかを確認できます。
Control Panel
-> All Control Panel Items
-> Programs and Features
-> Visual studio 2015
change/uninstall
をクリックしますVC++2015 toolset(x86,x64)
を選択してインストールします。Visual Studio Community 2017 RC(15.0.26206.0)の場合、オプションツールの名前はVC++ 2017 v141 toolset(x86,x64)
です:
Visual Studio 2015 Enterprise
の場合、parsley72と同様の方法で問題を解決しました。
1. Run the Visual Studio Installer;
2. Select Modify button;
3. Go to "Windows and Web Development";
4. Tick "Universal Windows App Development Tools";
5. Install.
WindowsでPyTorchをコンパイルし、Windows Universal CRT SDKをインストールしても解決しないときに、このエラーが発生しました。いじくり回した後、2つの原因があるようです。
%PROGRAMFILES(X86)%\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\
にアクセスしてください。このフォルダー内には、14.13.26128
などのフォルダーがあります。したがって、vcvars_ver
を14.13に設定します。バッチファイルの以下のフラグメントは、上記の2つのステップを示しています。
set "VS150COMNTOOLS=%PROGRAMFILES(X86)%\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build"
call "%VS150COMNTOOLS%\vcvarsall.bat" x64 -vcvars_ver=14.13
エラーの原因は、Windows 10 SDKの更新バージョンがないためかもしれません
windows 10 SDKを自律的にダウンロードしてインストールすることもできます。
このリンクを使用して windows 10 sdk を使用し、システムパスに追加します
それが役に立てば幸い。
私にとっては、Visual Studioのこの設定に役立ちます。
VC++の経験はありませんが、pythonプロジェクトのta-libをビルドする必要があります。私はVC Studioには触れたくないのですが、Unixでの通常のCプログラミングの経験があるため、Makefileに直接インクルードパスを追加するアプローチをとりました。例えば。:
INCPATH = -I "..........\include" -I "..........\src\ta_common" -I "..........\src\ta_abstract "-I" ..........\src\ta_abstract\tables "-I" ..........\src\ta_abstract\frames "-I "C:\ Program Files(x86)\ Windows Kits\10\Include\10.0.10150.0\ucrt" -I "C:\ Program Files(x86)\ Microsoft Visual Studio 14.0\VC\include"
サブディレクトリの下に複数のMakefileがあるので、それぞれに変更を加える必要がありましたが、私にとっては問題なく動作します。
古いWindows SDK(例:バージョン8.1 /ユニバーサル)をマシンに追加する(parsley72で説明)、または プロジェクトを再ターゲットして、コンピューターにインストールされているWindows SDKのいずれかを使用する 。
私はVS2017でこれに遭遇し、リターゲティングが機能しました。 Windows SDKの新しいバージョンをターゲットにすると悪影響があるかどうか の答えを待っています。
Windows 10 SDKを再インストールします。WindowsSDKが見つからない場合、またはその内容が変更された場合、このエラーがポップアップします。
次の3つのステップでこのエラーを解決します。
1)すべてのファイル:
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\um\x86
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\ucrt\x86
コピー先:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\VS\lib\x86
2)からのすべてのファイル:
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\um\x64
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\ucrt\x64
コピー先:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\VS\lib\x64
3)すべてのファイル:
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt
コピー先:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\VS\include
その後、プロジェクトを再構築し、すべて正常に動作します