web-dev-qa-db-ja.com

Visual Studioは含まれているヘッダーファイルを「見る」ことができません

Visual Studio 2008で空の「デモ」プロジェクトを作成し、既存のプロジェクトをソリューションに追加しました。 「デモ」にあるmain.cppファイルに「MyHeader.h」(他のプロジェクトのヘッダー)が含まれています。また、「ツール/オプション/ VC++ディレクトリ/ファイルを含める」セクションにヘッダーファイルのパスを追加しました。しかし、intellisenseは「ファイル 'MyHeader.h'は現在のソースファイルのディレクトリまたはビルドシステムパスに見つかりません...」と言います。

問題はどのように修正できますか?ありがとう。

34
Nabijon

Projectを選択してからAll Filesのメニューでは、物理的にプロジェクトマップにあるすべてのファイルをソリューションエクスプローラーに表示する必要がありますが、プロジェクトには(まだ)含まれていません。ソリューションエクスプローラーで追加するファイルを右クリックすると、含めることができます。

18
TimothyHeyden

ソリューションディレクトリにある.sdfファイルを削除します。これは単なるIntellisenseデータベースであり、Visual Studioは次にそのソリューションを開いたときに再作成します。このデータベースは破損し、IDEが物を見つけることができなくなる可能性があります。コンパイラーはこの情報をその場で生成するため、影響を受けません。

21
aguazales

IDEのみが含まれるファイルを見つけることができないことを示しているが、コンパイルが成功している場合、問題は単にIntelliSenseが最近の変更で完全に最新ではないということです。具体的には、既存のプロジェクトを含める場合、私自身の経験から、ソリューションディレクトリに生成された.sdfファイル(= IntelliSenseデータベース)を削除すると、Visual Studioがそれを再生成するため、最新の状態になります。おそらく同じことを行いますが、すべてが再度生成されるため、より時間がかかります。

3
MultiVAC

これは、コンピューターをシャットダウンして再起動した後、ちょうど私に起こりました。最終的に、アーキテクチャがx64からARMに変更されたことがわかった。

2
Elliot

これは古い質問であることは知っていますが、上記の答えはどれもうまくいきませんでした。私の場合、問題は、ドライブ文字を含まない絶対パスを含むことであることが判明しました。コンパイルは問題ありませんでしたが、Visual Studioは、右クリックして開くときにインクルードファイルを見つけることができませんでした。インクルードパスにドライブ文字を追加すると、問題が修正されました。

プロジェクトファイルのあらゆる側面でドライブ文字をハードコーディングすることはお勧めしません。永続的な状況では、相対パス、マクロ、環境変数、またはツリーの組み合わせを使用します。ただし、この場合、短期的には絶対パスが必要な一時プロジェクトで作業しています。右クリックしてファイルを開くことができないことは非常にイライラします。これが他の人の助けになることを願っています。

2
goug

Visual Studioが、現在のソースファイルフォルダー内のファイルを見逃していると言った場合、使用したソリューションが1つあります。追加するファイルを右クリックして、Open Document、実際に存在しない場合は、cannot find file in the source file path = "somewhere in your computer"、次にあなたができることは、最初にソースファイルをそのパスに追加し、それが機能するかどうかを確認することです。

1
Sam Liu

ヘッダーファイルをプロジェクトのファイルに追加してみてください。 (プロジェクトを右クリック->既存のファイルを追加)。

0

この問題の解決方法を次に示します。

  • プロジェクトに移動->すべてのファイルを表示。

enter image description here

  • ソリューションエクスプローラーですべてのファイルを右クリックし、含めるすべてのファイルで[プロジェクトに含める]をクリックします。

enter image description here

完了:)

0
abe312

私の経験では、VS2010では、コンパイル時にインクルードファイルが見つからない場合、クリーンを実行してから、通常はビルドで問題が修正されます。エディタがインクルードファイルを開き、コンパイラが画面上で開いていてもそのファイルが見つからないことを知らせることができるのは珍しいことではありません。

0
john elemans