2012-03-26 11 views
0

私は大きなプロジェクトのためにプログラミングしているので、他の人と協力しています。簡単に管理するディレクトリを作成し、私のディレクトリは以下のようなものであるために:私は私の.cファイルに.hファイルを含める場合makefileを使用すると.cファイルに.hファイルを含める方法

project: 
--include (header files from others supplied for me) 
--lib (libraries from others supplied for me) 
--L3_CVS (this folder include all my files) 
    -- Makefile 
    -- sourceFile (all my source files here) 
     -- include_private(all header files used only by myself) 
     -- appl (all my C files here) 

、私は.Cファイル「の#include」に書く必要があるん.. /include-private/XX.h "" ??? 私はちょうど.c "" XX.h ""を含む?

他の人が私のために提供する「インクルードフォルダ」の.hファイルを使用する必要があるので、どのようにして.cファイルにこれらの.hファイルを書き込むことができますか?

私のメイクファイルは以下の通りです:

how to include .h document in makefile

はあなたの助けをありがとう!

答えて

1

は、コンパイラに依存するが、一般的に、次の行を追加することをお勧めします:

CFLAGS += -I../include-private 

CFLAGSは、用途はCコンパイラ(「C」のコマンドラインオプションを追加して作るの変数でありますフラグ)。 C++では、CXXFLAGSを使用する必要があります。私は同じプロジェクトにCとC++を使用している場合は、私は一般的にINCLUDESという変数を作成し、このようにそれを使用します:あなたが意味として

INCLUDES = -I../include-private 

CFLAGS += $(INCLUDES) 
CXXFLAGS += $(INCLUDES) 
+0

、私は「書き込みの#includeを必要としません.. /include-private/XX.h "を作成し、makefileにINCLUDES = -I ../ include-private CFLAGS + = $(INCLUDES)と書いてください。 – city

+0

@city:いいえ、まだヘッダファイルをCファイルに含める必要があります。 'CFLAGS'は、このヘッダファイルをどこに見つけるかコンパイラに伝えます。 –

+0

@cityそのフラグを使用すると、ソースに "XX.h"だけを含めるだけでパスが必要なくなります。 – blueshift

関連する問題