2012-03-26 121 views
0

我正在爲一個大項目編程,所以我與其他人合作。爲了使目錄易於管理,我的目錄是象下面這樣:如何使用makefile將.h文件包含在.c文件中

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文件.h文件,我需要在.c文件「的#include」寫.. /include-private/XX.h「」??? 如果我只是在.c中寫入「include」XX.h「」,該怎麼辦?

因爲我需要使用其他人爲我提供的「include文件夾」中的.h文件,我如何在我的.c文件中寫入這些.h文件?

我的makefile低於:

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 2012-03-26 04:12:54

+0

@city:不,您仍然必須將頭文件包含在您的c文件中。 'CFLAGS'只是告訴編譯器在哪裏找到這個頭文件。 – 2012-03-26 05:09:59

+0

@city如果你使用該標誌,那麼在源代碼中你只需要包含「XX.h」,那麼你就不再需要該路徑。 – blueshift 2012-03-26 05:23:49

相關問題