29

私は最近、Code::Blocksから Visual Studio に移行しました。Code::Blocks では、クラスを追加してすぐに含めることができました。ただし、次のステートメントを使用して Visual Studio で同じことを行うときはいつでも:

#include "includedFile.h"

また

#include "include/includedFile.h"

それは機能せず、代わりにエラーが発生します:

インクルード ファイルを開けません: 'includedFile.h'; そのようなファイル、又はディレクトリはありません。

チェックを入れなければならないボックスや設定はありますか? または、各ヘッダーを依存関係として手動で追加する必要がありますか?

問題のクラスのコードは次のとおりです。

Public.h:

    #pragma once
    class Public
    {
        public:
            static const int SCREEN_WIDTH=1000;
            static const int SCREEN_HEIGHT=1250;
            Public(void);
            ~Public(void);
    };

パブリック.cpp:

    #include "Public.h"


    Public::Public(void)
    {
    }


    Public::~Public(void)
    {
    }

含まれている方法:

    #include "Public.h"
4

9 に答える 9

40

たとえば、gcc から C プログラミング用の Visual Studio に移行するのと同じ問題がありました。インクルード ファイルが、VS プロジェクト ツリーに表示されるだけでなく、実際にディレクトリにあることを確認してください。他の言語の私にとって、プロジェクト ツリーのフォルダーにコピーすると、実際にファイルが移動されます。Visual Studio 2010 では、「ヘッダー ファイル」に貼り付けても .h ファイルはそこに置かれませんでした。

インクルード ファイルの存在については、実際のディレクトリを確認してください。プロジェクト/ソリューションエクスプローラーの「ヘッダーファイル」フォルダーに入れるだけでは不十分でした。

于 2013-12-03T02:56:34.300 に答える
38

プロジェクトのプロパティ ([プロジェクト] -> [プロパティ] -> [構成プロパティ] -> [C/C++] -> [一般]) に移動し、[追加のインクルード ディレクトリ] フィールドに .h ファイルへのパスを追加します。

そして、構成とプラットフォームがアクティブであることを確認してください。例: 構成: アクティブ (デバッグ) プラットフォーム: アクティブ (Win32)。

于 2016-05-08T19:41:49.977 に答える
15

既定では、Visual Studio は、プロジェクトが存在するフォルダー ($ProjectDir) と既定の標準ライブラリ ディレクトリでヘッダーを検索します。プロジェクト ディレクトリに配置されていないものを含める必要がある場合は、含めるフォルダーへのパスを追加する必要があります。

プロジェクトのプロパティ ([プロジェクト] -> [プロパティ] -> [構成プロパティ] -> [C/C++] -> [一般]) に移動し、フィールドAdditional Include Directoriesに .h ファイルへのパスを追加します。

また、Chris Olen の提案に従って、パスを VC++ ディレクトリ フィールドに追加することもできます。

于 2013-10-16T23:50:47.027 に答える
3

問題が解決しない場合は、現在の設定とは異なるバージョンをコンパイルしようとしていることが原因です。

たとえばAdditional Include DirectoriesDebug x64を設定する場合は、同じ構成でコンパイルしていることを確認してください。

これを確認Build > Configuration Manager... >してください: アクティブなソリューション構成には、おそらく次のようなものがあります: Debug x86 (Win32) platform

于 2019-03-07T14:13:27.680 に答える
2

私にとっては、プロジェクトの現在のディレクトリを次のようにリンクするのに役立ちました。

プロパティ -> C++ -> 一般ウィンドウで、「追加のインクルード ディレクトリ」内のファイルへのパスをリンクする代わりに。置く "。" 「親またはプロジェクトのデフォルトから継承」のチェックを外します。

お役に立てれば。

于 2019-02-27T14:20:48.267 に答える