1. ホーム
  2. visual-studio-2015

[解決済み] corecrt.h が見つからない: $(UniversalCRT_IncludePath) が間違っている

2022-02-07 19:39:13

質問

Windows10を搭載した作業用ノートパソコンに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のアップグレードがインストールされていませんが、もう一台のパソコンにはすべて正しくインストールされているので、おそらくそうなのでしょう。

私の質問は、どのようにすれば corecrt.h のファイルを両方のPCで、パスを混乱させることなく作成することができます。これらのパスはPCに依存するため、ハードリンクは避けたいと思います。また、システム依存であり、ソリューションにケーブルで接続されていないはずなのに、なぜ私のノートPCではパスが間違っているのか理解できません。

どうすればこの問題を解決できますか?ノートパソコンを同じバージョンのウィンドウズにアップデートできることは知っていますが、いろいろな理由からそれを避けたいと思っています。

-- EDIT

このパスがあることに気がつきました。

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のフォルダで、明示的に $(UniversalCRT_IncludePath) しかし、どのファイルが、どの位置にあるのかわかりません。

解決方法は?

Visual Studio 2017のために、私はしなければならなかった。

  1. Visual Studio インストーラーを実行します。
  2. Modifyボタンを選択します。
  3. Individual Components"タブに移動します。
  4. Compilers, build tools and runtimes"までスクロールダウンしてください。
  5. Windows Universal CRT SDKにチェックを入れます。
  6. インストールします。