15

私は一般的に C++ と Eclipse にかなり慣れていないので、明らかな何かが欠けている場合は申し訳ありません。

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

ここに画像の説明を入力

誰かが私にどの「#include」ステートメントを使用すべきかを教えてくれたら、それは素晴らしいことです。

ありがとう!

4

2 に答える 2

25

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

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

これは、他の変更なしで機能します。ただし、いずれかのファイルを移動したり、2つのファイル間の相対パスを変更したりすると、これは機能しなくなります。

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

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

#include "Statistics/Statistics.h"
于 2012-11-08T22:25:09.863 に答える
1

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

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

例えば

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

もう1つの方法は、インクルードをsrcディレクトリに保持している場合、srcディレクトリをインクルードパスに追加することです。これで、インクルードするときに、srcルートからのパスを指定するだけで済みます。

例えば。

#include "Statistics/Statistics.h"
于 2012-11-08T22:26:33.893 に答える