5

2 つの異なるディレクトリに 2 つの something.h があるとします。これらのディレクトリに書き込むことはできず、root アクセスもありません。

次のようなコードがあります。

#include <something.h>

特定のディレクトリで something.h を使用し、他のディレクトリを無視するように指定するにはどうすればよいですか?

4

2 に答える 2

2

使用してみてください:
#include "../directory/something.h"
GCC はSearch Pathを使用してヘッダーを探すことに注意してください。
指定したディレクトリでヘッダー ファイルを探すように GCC に指示することもできます。, を使用して、ヘッダー ファイルを検索するディレクトリのリストの先頭に-iquote dirディレクトリを追加します。dir

于 2012-12-28T10:55:46.157 に答える
1

通常、システムインクルードと見なされるものの検索に適格なディレクトリのリスト(#includeで山括弧を使用)は、-Iコンパイラへのスイッチのセットとして提供されます。多くの場合、これらのインクルードディレクトリはmakefileまたはプロジェクトファイルで指定されます。

多くの(必ずしもすべてではない)コンパイラは、インクルードディレクトリとしてリストされているディレクトリの順序を尊重します。したがって、makefileでその順序を変更することにより、好みを選択できるはずです。ただし、一部のコンパイラでは、一部のディレクトリが常に含まれていると見なされるため、難しい場合があります(gccのように、デフォルトでは、/usr/include含まれていると想定されます)。言い換えれば、これは非常に実装固有です。

山かっこではなく二重引用符を使用する場合は、のように目的のファイルを直接指定できます#include "dir/file.h"

于 2012-12-28T10:59:46.113 に答える