0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Visual Studioで 'stdafx.cpp': No such file or directory が出た時の対処法

Posted at

環境

Windows10 Pro x64
OSビルド: 10.0.17314
バージョン: 1803

発生した問題

WindowsでVisual Studioを使用して,普段どおりC++のプロジェクトを作成したところ,デフォルトで生成されたファイルのコンパイルが通らない問題が発生しました.

エラーログは以下の通りです

E1696 ソース ファイルを開けません "C:\HOGE\PROJECT\PROJECT\PROJECT.CPP" E2998 PCH 警告: 不明なエラーが発生しました。IntelliSense PCH ファイルは生成されませんでした。 C1083 ソース ファイルを開けません。'stdafx.cpp':No such file or directory

3つ目のエラーは,通常インクルードファイルのパスを間違えた時などに発生することが多いのですが,今回はそもそもVSプロジェクトに組み込まれているcppファイルにこのエラーが発生しました.

原因

1つ目のエラーでは,表示されるパスが全て大文字になっていました.
現在のWindowsではディレクトリ毎にファイル名の大文字/小文字を無視するか指定することができるようになっており,基本的には無視するのですが,無視しないようにしていると今回のエラーが発生するようです.
自分の場合,GitをWSL上から操作していた関係上大文字小文字を区別したほうが便利だったので,gitリポジトリをまとめたディレクトリは無視しないように設定していました.そのディレクトリを親として今回のVSプロジェクトを作成してしまったため,このエラーが発生しました.

解決策

プロジェクトファイル(.sln)のあるディレクトリに対して,fsutil.exeを実行することで解決します

cmd
fsutil.exe file setCaseSensitiveInfo <path> disable

参考サイト

Windowsでディレクトリ単位での大文字・小文字を区別する設定がWindows 10 Insider Previewに追加されています

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?