C/C++ を使用しているときに、.h ファイルを .cpp/.c ファイルに含めるときに #include ディレクティブのファイル パスを処理するさまざまな方法に遭遇しました。Google スタイル ガイドでは、#include でファイル パスの一部を使用することをほのめかしています。そうは言っても、私は現在、コードを「継承」したときに適切にレイアウトされた Makefile (G++ 用) と構造がレイアウトされたプロジェクト (小さなプロジェクトではありますが) に取り組んでいます。つまり、/project_name という名前のディレクトリがあり、その中に Makefile といくつかのサブディレクトリがあります。たとえば、/project_name/inc は .h ファイルを保持し、/project_name/src は .cpp ファイルを保持します。Makefile は、各サブディレクトリを調べてソース コードをコンパイルするように設定されています。
私の質問は、ディレクトリ構造と Makefile を考えると、#include の「推奨される」方法は何かということです。私が使用して成功した 2 つの代替手段を以下に示します。
include "mycode.h" // パスの知識はなく、私が説明した構造を想定しています
include "../../project_name/inc/mycode.h" // 少し複雑に見えますが、ファイル構造がよくわかります
私が見逃している他のオプションはありますか?