私は、コードを含むいくつかのディレクトリに細分化されたプロジェクト(ライブラリ)を持っています。プロジェクトのルートディレクトリでヘッダファイルをg ++で検索したいので、複数のソースファイルに渡って同じヘッダファイルの異なるインクルードパスを避けることができます。特定のディレクトリのヘッダファイルをg ++で検索する方法は?
主に、root/
ディレクトリは、サブディレクトリ内の.hpp
と.cpp
ファイルを持っているすべてがA/
、B/
とC/
を、持っています。 Aの一部のソースファイルにBに入っていたfile.hpp
を含めるには、#include "../B/file.hpp"
のようにする必要があります。しかし、もしA自身にfile.hpp
が必要なファイルを持つサブディレクトリがあると、ファイルを移動することを決めた場合には矛盾してエラーが発生します(インクルードパスは"../../B/file.hpp"
となります) 。
また、root/
の外にある他のプロジェクトも同様に作業する必要があります。私はすでにすべての私のヘッダーファイルをデフォルトの検索ディレクトリに手動でコピーするオプションがあることを知っていますが、これは私が記述した方法で行いたいと思います。
編集:ライブラリを使用するすべてのプログラムは、g++ prog.cpp lib.a -o prog
でコンパイルする必要があります。つまり、が永久に g ++のインクルードパスを設定しています!
ちょっと、私は重要な詳細を一つ残して質問を述べました。 – corazza
@Bane、それはすべてを変更します:-)。私は答えを編集して、より多くのオプションを使用できるようにしました。 – Vikas
それは私が探しているようです。どれくらい正確に編集できますか? (私のライブラリのmakefileのインストールルールに追加する必要のあるCLI命令を使って) – corazza