0

C/C++ を扱ってからしばらく経ちましたが、これがとてつもなく簡単に答えられる質問である場合はご容赦ください。「Google」で検索する方法がよくわかりません。

file"MyFile.h"を含むファイルがあります"includedFile.h"。ただし、コンパイラはファイルを見つけることができません。下の写真をご覧ください:

プロジェクト foo のファイル/フォルダー構造。

私がやっていることは、プロジェクトを古い Solaris ボックスから Linux ボックスに移動することです。奇妙なことに、Solaris ボックスではそのまま動作しましたが、Linux は少し混乱しています。

プロジェクトに使用するmakefileものも変更されていないため、コンパイラオプションである可能性があると思います...

では、そのインクルード ファイルの場所を Linux のコンパイラに伝えるにはどうすればよいですか。"MyFile.h?"

4

2 に答える 2

2

-Ig++ を使用していると仮定すると、フラグを使用してパスを渡します。

g++ ..... -I<a path to your includes> -I<another path to includes> 
于 2013-03-11T16:46:29.013 に答える
2

gcc と clang では、次を使用してインクルード パスを指定します-I

g++ -o myprogram main.cc extra.cc -I/usr/include/boost -I/my/extra/include/files

のように、ファイルにフル パスを指定できますが、コードをコンパイルするすべてのユーザーがそのディレクトリ レイアウトに準拠するよう強制されるため、絶対にお勧めしません。#include "/path/to/my/includedfile.h"

#include <file>また関連:と#include "file" gccの違いについては、次のリンクを参照してください: http://gcc.gnu.org/onlinedocs/cpp/Include-Syntax.html

于 2013-03-11T16:44:54.910 に答える