web-dev-qa-db-ja.com

ソースフォルダーのヘッダーファイルを含むEclipse C ++

C++とEclipseは一般的にかなり新しいので、かなり明白なものがない場合はお詫びします。

私が抱えている問題は、ソースファイルの1つにヘッダーファイルを含めようとしているが、プロジェクトディレクトリの別のフォルダーにあるということです。それらをどのように含める必要があるのか​​、私にはわかりません。含めたいヘッダーファイルの問題を強調表示した画像をアップロードしました。

enter image description here

誰かが「#include」ステートメントを教えてくれれば、それはすばらしいでしょう。

ありがとう!

15
Joseph Little

これを機能させるには、いくつかの異なるオプションがあります。最も簡単なのは、#includeから

#include "../Statistics/Statistics.h"

これは他の変更なしで動作します。ただし、いずれかのファイルを移動したり、何らかの方法で2つのファイル間の相対パスを変更したりすると、破損します。

または、Statisticsフォルダーへのパスをコンパイラーのインクルードファイル検索パスに追加できます。プロジェクト名を右クリックし、プロパティ-> C/C++ビルド->設定を選択して、コンパイラのインクルードファイルパスオプションを見つけます。 g ++の場合は-I<path/to/include/folder>。これを追加すると、#includeステートメントは、現在のように機能します。

2番目のオプションと非常によく似たオプションは、srcフォルダーではなくStatisticsフォルダーへのパスをインクルード検索パスに追加することです。この場合、ステートメントを次のように変更する必要があります

#include "Statistics/Statistics.h"
25
Praetorian

Srcフォルダーにサブフォルダーを作成すると、各cppファイルはそのフォルダーにコンパイルされます。したがって、""には、そのフォルダーから別のフォルダーに移動するための相対パスを指定する必要があります。

あなたの場合、FileInOutフォルダーから取得するには、1レベル前に戻り、Statisticsフォルダーに入る必要があります。

例えば

#include "../Statistics/Statistics.h"

別の方法として、srcディレクトリにインクルードを保持している場合は、srcディレクトリをインクルードパスに追加します。含める場合は、srcルートからのパスのみを指定する必要があります。

例えば。

#include "Statistics/Statistics.h"
1
Dunes