Visual Studio 2008で空の「デモ」プロジェクトを作成し、既存のプロジェクトをソリューションに追加しました。 「デモ」にあるmain.cppファイルに「MyHeader.h」(他のプロジェクトのヘッダー)が含まれています。また、「ツール/オプション/ VC++ディレクトリ/ファイルを含める」セクションにヘッダーファイルのパスを追加しました。しかし、intellisenseは「ファイル 'MyHeader.h'は現在のソースファイルのディレクトリまたはビルドシステムパスに見つかりません...」と言います。
問題はどのように修正できますか?ありがとう。
Project
を選択してからAll Files
のメニューでは、物理的にプロジェクトマップにあるすべてのファイルをソリューションエクスプローラーに表示する必要がありますが、プロジェクトには(まだ)含まれていません。ソリューションエクスプローラーで追加するファイルを右クリックすると、含めることができます。
ソリューションディレクトリにある.sdfファイルを削除します。これは単なるIntellisenseデータベースであり、Visual Studioは次にそのソリューションを開いたときに再作成します。このデータベースは破損し、IDEが物を見つけることができなくなる可能性があります。コンパイラーはこの情報をその場で生成するため、影響を受けません。
IDEのみが含まれるファイルを見つけることができないことを示しているが、コンパイルが成功している場合、問題は単にIntelliSenseが最近の変更で完全に最新ではないということです。具体的には、既存のプロジェクトを含める場合、私自身の経験から、ソリューションディレクトリに生成された.sdfファイル(= IntelliSenseデータベース)を削除すると、Visual Studioがそれを再生成するため、最新の状態になります。おそらく同じことを行いますが、すべてが再度生成されるため、より時間がかかります。
これは、コンピューターをシャットダウンして再起動した後、ちょうど私に起こりました。最終的に、アーキテクチャがx64からARMに変更されたことがわかった。
これは古い質問であることは知っていますが、上記の答えはどれもうまくいきませんでした。私の場合、問題は、ドライブ文字を含まない絶対パスを含むことであることが判明しました。コンパイルは問題ありませんでしたが、Visual Studioは、右クリックして開くときにインクルードファイルを見つけることができませんでした。インクルードパスにドライブ文字を追加すると、問題が修正されました。
プロジェクトファイルのあらゆる側面でドライブ文字をハードコーディングすることはお勧めしません。永続的な状況では、相対パス、マクロ、環境変数、またはツリーの組み合わせを使用します。ただし、この場合、短期的には絶対パスが必要な一時プロジェクトで作業しています。右クリックしてファイルを開くことができないことは非常にイライラします。これが他の人の助けになることを願っています。
Visual Studioが、現在のソースファイルフォルダー内のファイルを見逃していると言った場合、使用したソリューションが1つあります。追加するファイルを右クリックして、Open Document
、実際に存在しない場合は、cannot find file in the source file path = "somewhere in your computer"
、次にあなたができることは、最初にソースファイルをそのパスに追加し、それが機能するかどうかを確認することです。
ヘッダーファイルをプロジェクトのファイルに追加してみてください。 (プロジェクトを右クリック->既存のファイルを追加)。
私の経験では、VS2010では、コンパイル時にインクルードファイルが見つからない場合、クリーンを実行してから、通常はビルドで問題が修正されます。エディタがインクルードファイルを開き、コンパイラが画面上で開いていてもそのファイルが見つからないことを知らせることができるのは珍しいことではありません。