2011-07-30 20 views
11

私の現在のプロジェクトでは、私はクラスファイルと私のヘッダーファイルを分けました。私のプロジェクトの構造は、現在、次のようになります。別のフォルダのファイルを含めるにはどうすればよいですか?

  • プロジェクト

    • ソース
      • SRC
        • class1.cpp
        • class2.cpp
      • main.cppに
    • ヘッダ
      • は、
        • class1.h
        • class2.h

私の問題は、ヘッダーファイルをクラスファイルに含める方法がわかりません。同じレベルまたは子フォルダにないヘッダーにリンクできませんか?または、プロジェクトのルートから作業を進めるための方法がありますか?例えば:
#include "Project/Headers/include/class1.h" class1.cppファイル

+0

をおそらくあなたが代わりに '' include'の#1 include'を意味しました。このために訂正されました。 –

答えて

15

内部あなたはコンパイラが含まヘッダを見つけることができるように、あなたのコンパイラにインクルードパス<the directory containing Project>を指定する必要があります。 gccを使用すると、-Iオプションを使用でき、Visual Studioを使用すると/Iを使用できます。

14

あなたはこの

#include "../../Header/class1.h" 

..ような何かをするだろうclass1.hあなたが含まれるようにclass1.cppをしたいと仮定すると、コンパイラは、ファイルを要求したときに1つのディレクトリアップをジャンプするOSを伝え伝えます。

+4

..コンパイラに何も通知しません。コンパイラがファイルを要求すると、1つ上のディレクトリにジャンプするようにOSに指示します。 – Dani

+0

@Daniまあ同じ効果...とにかくそれを編集しました... – Pepe

+1

".."と "。"を使うのは悪い習慣です。ヘッダファイルを含む場合。 – mmohaveri

0

私のコンパイラは、code :: blocks C++プロジェクト(OPと同じファイル構造)でヘッダを見つけることができない非常に似た問題がありました。

これが私の仕事:

#include "../include/class1.h" 
関連する問題