C++コンパイラにパスを追加する方法については、すでに多くのオプションがありますので、#include < ...>コマンドがこれらのパスで機能します。しかし、私は1つのファイル(プロジェクト全体ではない)を持っていると仮定し、このファイルだけのインクルードパスを追加したいとします。私はこれをのcppファイル(一番最初の行)のコード行で行いたいと思います。これはどのように可能ですか?どうして?同じディレクトリ内の他のヘッダーファイルにも依存する別のディレクトリのヘッダーファイルをインクルードする必要があるため(このパスが追加されていないため、これらの他のファイルが見つかりませんでした。インクルードリスト)。例えばプログラムコード行を使用してC++インクルードパスを設定する
: 例えば、私は余分なディレクトリを持っていない、場合、私は、しかし
#include <extra/file_a.h>
を経由していることを行うことができますのは、私はディレクトリ .../include/extra
にfile_a.h
を含める
を想定してみましょうinclude
のサブディレクトリとして直接、またはfile_a
は他のどこかのファイル(例えば/extra
でも可能ですが、includeのサブディレクトリではありません)を追加したい場合は、traディレクトリ/依存関係の把握が難しくなります。
コンパイラでこれらのディレクトリを変更するのは悪い習慣だと思ったので、それをプログラムに統合する方がよいと思ったので、どのコンパイラを使用していても、後で、一度指定されると、私が追加しなければならないディレクトリ。私の理解パー
含まれているファイルを変更することができる場合は、それらのインクルードを ''から' 'file.h" 'に変更することができます。http://stackoverflow.com/questions/21593/what-is-the-difference -with-include-filenameとインクルードファイル名 –
Lanting
実行時に実行されるコード行を考えていない可能性があるので、「コード行」とはどういう意味ですか? #include文の中でパスを使用していないのはなぜですか? 「XY問題」のコメントを受け取る危険性がある場合は、達成したいことについてもっと詳しく記述してください。コードとヘッダーの例を示し、目的の効果を説明してください。簡単に[mcve]を試してみてください。 – Yunnosch
これは鶏と卵の問題のようなものです;-) –