私のプロジェクトでは、現在相対パスを使用してファイルを含めていますが、これは頻繁に変更されることはありません。ただし、通常はファイルを多数のフォルダーにネストしているため、非常に奇妙なインクルード パターンが生成されます。
たとえば、現在のプロジェクトではnetwork/server/myfile.hpp
. を含める必要がありますcommon/log.hpp
。現在私が使用#include "../../common/log.hpp"
しているものはかなり冗長ですが、機能します。
代わりにメインのインクルード ディレクトリをパスに追加すると、単にインクルードできます"common/log.hpp"
。
この質問は何よりも好みに関するものかもしれませんが、クロスプラットフォームアプリケーションに関して客観的な長所と短所はありますか?また、C++ の規則はどうですか?