0

Visual Studio でヘッダーを見つけるのに問題があることがよくありますが、最終的にその理由を見つけたのではないかと思います: Visual Studio はプロジェクト構成内の複数の相対ディレクトリを認識していないようです。

ここに画像の説明を入力

そのディレクトリが確かに存在する場合。

私の質問は、誰かがこれが事実であることを確認できますか?もしそうなら、彼らがこれを行う理由はありますか? それはバグですか、それとも意図的なものですか?

4

1 に答える 1

1

少し眉をひそめていますが、これをコメントに実際に収めることができないため、回答として投稿します...

これをデバッグする最も簡単な方法は、ここから Process Monitor を実行し、ファイル名へのアクセスのみを表示するフィルターを追加することです。存在しないヘッダーを読み込もうとする C++ プロジェクトの例を作成し#include "Bobby.h"、次のフィルターを Process Monitor に追加しました。

Path Contains Bobby.h Include

次に、ビルドを実行すると、次の出力が得られました。

CreateFile  C:\Users\MyUserName\Documents\Visual Studio 2012\Projects\ConsoleApplication2\ConsoleApplication2\Bobby.h   NAME NOT FOUND
CreateFile  C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\Bobby.h  NAME NOT FOUND
CreateFile  C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\atlmfc\include\Bobby.h   NAME NOT FOUND
CreateFile  C:\Program Files (x86)\Windows Kits\8.0\Include\um\Bobby.h  NAME NOT FOUND
CreateFile  C:\Program Files (x86)\Windows Kits\8.0\Include\shared\Bobby.h  NAME NOT FOUND
CreateFile  C:\Program Files (x86)\Windows Kits\8.0\Include\WinRT\Bobby.h   NAME NOT FOUND

この出力から、コンパイラがヘッダー ファイルを検索した場所を簡単に確認できます。ヘッダー ファイルが見つからなかった理由を理解するには、これで十分かもしれません。

HTH

于 2015-01-12T15:43:23.507 に答える