最近、 Code :: Blocks からVisual Studioに移行しました。Code:: Blocksでは、クラスを追加してすぐに含めることができます。ただし、Visual Studioで次のステートメントを使用して同じ操作を行うたびに:
#include "includedFile.h"
または
#include "include/includedFile.h"
それは機能せず、代わりにエラーが発生します:
インクルードファイルを開けません: 'includedFile.h';そのようなファイル、又はディレクトリはありません。
チェックする必要があるボックスまたは設定はありますか?または、各ヘッダーを依存関係として手動で追加する必要がありますか?
問題のクラスのコードは次のとおりです。
#pragma once
class Public
{
public:
static const int SCREEN_WIDTH=1000;
static const int SCREEN_HEIGHT=1250;
Public(void);
~Public(void);
};
Public.cpp:
#include "Public.h"
Public::Public(void)
{
}
Public::~Public(void)
{
}
含まれる方法:
#include "Public.h"
私は、gccからCプログラミング用のビジュアルスタジオに行くこの同じ問題を抱えていました。 インクルードファイルが実際にディレクトリにあることを確認してください-VSプロジェクトツリーに表示されるだけではありません。他の言語では、プロジェクトツリーのフォルダーにコピーすると、実際にファイルが移動します。VisualStudio 2010では、「ヘッダーファイル」に貼り付けても.hファイルがそこに置かれませんでした。
インクルードファイルの存在については、実際のディレクトリを確認してください。プロジェクト/ソリューションエクスプローラーの「ヘッダーファイル」フォルダーに入れるだけでは不十分です。
プロジェクトのプロパティ([プロジェクト]-> [プロパティ]-> [構成プロパティ]-> [C/C++]-> [全般])に移動し、[追加インクルードディレクトリ]フィールドで.hファイルへのパスを追加します。
また、構成とプラットフォームがアクティブであることを確認してください。例:構成:アクティブ(デバッグ)プラットフォーム:アクティブ(Win32)。
これらのインクルードファイルがプロジェクトフォルダーにない場合、これらのインクルードファイルを検索するには、プリプロセッサーのパスを設定する必要があります。
パスは VC++ Directories 、または Additional Include Directories で設定できます。両方ともプロジェクト設定にあります。
既定では、Visual Studioは、プロジェクトがあるフォルダー($ ProjectDir)および既定の標準ライブラリディレクトリでヘッダーを検索します。プロジェクトディレクトリにないものを含める必要がある場合は、含めるフォルダーへのパスを追加する必要があります。
プロジェクトのプロパティ([プロジェクト]-> [プロパティ]-> [構成プロパティ]-> [C/C++]-> [一般])に移動し、フィールドAdditional Include Directories
パスを.hファイルに追加します。
また、Chris Olenが提案したように、VC++ディレクトリフィールドへのパスを追加することもできます。
Microsoft Visual C++でも同じエラーが発生していたため、この投稿を見つけました。 (原因は上記の質問とは少し違っていたようですが)
ファイルを同じディレクトリに入れようとしていましたが、それでも見つかりませんでした。
私のインクルードは次のようになりました:#include <ftdi.h>
しかし、これに変更したとき:#include "ftdi.h"
それからそれを見つけた。
他の回答を試してもインクルードファイルが見つからない場合、追加のデバッグ手順と健全性チェックを次に示します。
#include
に変更して、代わりにヘッダーファイルの絶対パス全体を指定し、ファイルがすぐに見つかるかどうかを確認します。そうでない場合は、ソースコードからコマンドラインにパスをコピーアンドペーストして、ファイルがタイプミスなしでそのフルパスに存在することを検証します。ヘッダーファイルを開いて、読み取りアクセス権があることを確認します。 (完了したら、ソースコードを元に戻します。)Additional Include Directories
へのパスを追加している場合は、Additional Include Directories
のドロップダウンコンボボックスをクリックして、<Edit...>
を選択してください。これにより、evaluated values
パスが表示されます。 (正しい評価値が表示されない場合、パス内の変数が設定されていない可能性があります。Macros>>
をクリックして変数を表示します。).この質問に対する私の答えであることが判明した奇妙な解決策があります(正直なところ、完全に理解していません)。
「追加インクルードディレクトリ」のファイルにパスをリンクする代わりに、プロパティ-> C++->一般ウィンドウで。 「。」を入れる「親またはプロジェクトのデフォルトから継承」のチェックを外します。
お役に立てれば。
それでも問題が解決しない場合は、現在の設定とは異なるバージョンをコンパイルしようとしているためです。
たとえば、Debug x64で_Additional Include Directories
_を設定する場合は、同じ構成でコンパイルしていることを確認してください。
これを確認してください:_Build > Configuration Manager... >
_アクティブなソリューション構成にはおそらくDebug x86 (Win32) platform
のようなものがあります。