14

私は Eclipse-CDT を初めて使用し、初めて新しいプロジェクトをセットアップします。絶対パスをハードコーディングせずに Boost を参照しようとしています。

/home/user/workspace/boost_1_39_0 など、ワークスペース フォルダーにブーストを入れました。

次に、ワークスペースに相対的なそのフォルダーを指すインクルード ディレクトリを追加することを望んでいましたが、Eclipse はそれを行いません。/home/user/workspace/[MyProjectNameHere]

任意のヒント?Boost をプロジェクト フォルダにコピーするのは意味がないようです。なぜなら、Boost が Eclipse に表示され、Eclipse がそれをビルドしようとしているからです (確かに、除外できます)。

  • アレックス
4

4 に答える 4

13

CDT プロジェクトにインクルード ファイル パスを追加する場合 (プロジェクト プロパティ/C/C++ 一般/パスとシンボル)、場所を参照するための 3 つのボタンがあります。

  • 変数...
  • ワークスペース...
  • ファイルシステム...

[ワークスペース...] ボタンを押すと、パスはワークスペース/プロジェクトからの相対パスになります。[変数...] ボタンを選択すると、 などの変数を組み込むことができます${WorkspaceDirPath}。変数は環境変数を参照することもできます。これは、マシン上のどこかに存在する可能性のあるプロジェクトから単一のブースト インストールを参照する場合に便利です。

変数をパスに組み込む場合は、[ワークスペース パスです] オプションがオンになっていることを確認してください。そうしないと、ビルド時に評価される変数のままではなく、[OK] を押したときに変数が評価されるように見えます。

于 2009-07-07T06:49:03.307 に答える
5

Michael Burrが上で提案したことを大まかに実行して、これを機能させました。

Project Properties / C / C ++ General / Paths and Symbolsの下に、次のようなパスを追加しました。

$ {ProjDirPath} /../boost_1_39_0

  • アレックス
于 2009-07-08T15:09:30.887 に答える
3

私はEclipse Lunaを使用していますが、受け入れられた回答が正確ではないことがわかりました。少し頭を悩ませた後、ここ数年でいくつかの変更が行われたようです (少なくとも、これは私のシステムで発生したことです)。

  • 「Is workspace path」にチェックマークを付けていない場合、「OK」をクリックしても、Eclipse は変数を展開しなくなりました。
  • Eclipse は、実際にワークスペース内のプロジェクトを参照しない限り、ワークスペースに関連するパスを見つけることができません。Eclipse で検出できないパスは、またはその他の関連するスイッチを使用してビルド コマンド ラインに追加されません。-I

したがって、これが機能するには、非ワークスペース相対${ProjDirPath}/../whateverパスとして入力する必要があり、変数はコンパイル時まで展開されません。

于 2014-12-08T11:29:08.470 に答える
2

IIRC では、プロジェクトを右クリックして、C/C++ の一般設定に移動できるはずです。そこから、プロジェクトが参照する特定のインクルード ディレクトリを追加できます。ここに役立つリンクがいくつかあります...

IBM の記事

エクリプス開発

于 2009-07-06T22:35:41.767 に答える