我開始一個包含一些外部代碼的大項目。到現在爲止,我有這樣的目錄結構:如何組織目錄結構並編寫外部代碼的Makefile
MyProject
|-- include
| |-- FANN
| | |-- src
| | | |-- include
| |-- eigen
| |-- Eigen
|-- MyLibrary
| +-- header1.H
| +-- header2.H
| +-- otherheaderN.H
|-- test
+-- Makefile
+-- test1.cpp
+-- testN.cpp
我使用CPP測試代碼include
子目錄的外部代碼,MyLibrary
我自己的頭文件,test
。
我有FANN,Eigen和其他庫。我直接使用他們的代碼,並且我沒有包含文件,使用不同的目錄以及類似的東西的經驗。
在Makefile中我有這樣的臺詞:
test1:
g++ -I $(FANN) -I $(FANNINCLUDE) -I $(EIGEN) -I $(MyLib) test1.cpp -o test1
這是我如何解決了它來編譯,但不知道它是不是很好用各種-I選項。例如,看看我使用FANN作爲FANN/src的路徑,並使用FANNINCLUDE作爲path/src/include;這是因爲我包含了FANN/src /「doublefann.c」,它包含了一個#include「config.h」(在FANN/src/include中是config.h)。我是一團糟!
你會推薦一種更好的組織文件的方式,或者它是好的嗎? 我在Makefile中做錯了嗎? 任何其他建議,將不勝感激。
你爲什麼包含一個.c文件? – 2012-07-07 16:51:03
@AnonMail這是因爲庫:「只需將文件doublefann.c或floatfann.c包含在您的項目中,一切都應該工作」http://leenissen.dk/fann/wp/help/installing-fann/ – jeanc 2012-07-07 16:55:13