外部コードを含む大きなプロジェクトを開始しています。今では、次のようなディレクトリ構造があります。
MyProject
|-- include
| |-- FANN
| | |-- src
| | | |-- include
| |-- eigen
| |-- Eigen
|-- MyLibrary
| +-- header1.H
| +-- header2.H
| +-- otherheaderN.H
|-- test
+-- Makefile
+-- test1.cpp
+-- testN.cpp
外部コード、独自のヘッダー ファイル、およびcpp テスト コードinclude
に subdir を使用しています。MyLibrary
test
FANN、Eigen、およびその他のライブラリがあります。私は彼らのコードを直接使用していますが、ファイルを含めたり、さまざまなディレクトリを操作したりした経験はありません。
Makefile には、次のような行があります。
test1:
g++ -I $(FANN) -I $(FANNINCLUDE) -I $(EIGEN) -I $(MyLib) test1.cpp -o test1
このようにコンパイルして解決しましたが、さまざまな -I オプションを使用するのが良くないかどうかはわかりません。たとえば、FANN/src へのパスに FANN を使用し、path/src/include に FANNINCLUDE を使用していることを見てください。これは、FANN/src/"doublefann.c" をインクルードしていて、#include"config.h" (FANN/src/include 内の config.h) があるためです。私はめちゃくちゃです!
ファイルを整理するためのより良い方法をお勧めしますか、それとも良いですか? Makefileで間違っていますか?他の提案をいただければ幸いです。