2009-07-06 17 views
12

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

私は自分のワークスペースフォルダにboostを入れました。/home/user/workspace/boost_1_39_0

私は、ワークスペースを基準にしてそのフォルダを指しているインクルードディレクトリを追加したいと考えていましたが、Eclipseはそれをしません。/ homeの考えを指し示すだけのようです/ user/workspace/[MyProjectNameHere]

ヒントを教えてください。 Boostを私のプロジェクトフォルダにコピーするのは理にかなっていないようです。なぜなら、それはEclipseに表示されてEclipseがビルドしたいからです(確かに、私はで除外できます)。

  • アレックス

答えて

11

を助けるかもしれないリンクがいくつかあり、です

  • 変数...
  • ワークスペース...
  • ファイル■:場所を参照するために3つのボタンがありますystem ...

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

変数をパスに組み込む場合は、「ワークスペースパスですか?」オプションがチェックされていることを確認してください。そうしないと、ビルド時に評価する変数を保持せずに「OK」を押すと評価されます。

+0

そのオプションを指摘してくれてありがとう、私はそこに自分の設定を入れたくない、それらはIDE全体であり、プロジェクト固有の設定が必要です。プロジェクト(および依存関係)をソース管理から削除し、ビルドします。 –

+0

Visual Studio 2008では、プロジェクトへの相対パスを追加するだけで、ディレクトリを含めることができます。 "../boost_1_39_0" –

+0

相対パスを入力するだけで、Eclipseは完全なパスを '解決'しているように見えますが、 'workspace relative'チェックボックスをオンにすると修正される可能性があります。また、IDE全体の設定についてはどういう意味ですか?私のために、彼らは特定のプロジェクトに添付されているようです。しかし、私はEclipseで特に知っていることに注意してください。私はEclipse/CDT(特にドキュメンテーション)には欠けていることがたくさんありますが、エンベデッド開発のために5000ドルのIDEの代わりにそれを使用すれば、多くの時間を取ることができます。 –

2

IIRCは、プロジェクトを右クリックし、C/C++の一般的な設定に移動することができるはずです。そこから、プロジェクトの参照用の特定のインクルードディレクトリを追加できます。ここではCDTプロジェクト(プロジェクトのプロパティ/ C/C++一般/パスとシンボル)でインクルードファイルのパスを追加する場合...

IBM Article

Eclipse Development

+0

Thx、はい私はそれを行うことができますが、私は私の質問は、どうすれば相対パスを使用してそれを行うのですかと思います。 –

+0

相対パスの問題をよりよく反映するように質問を更新しました –

4

私はマイケル・バリは、上記に示唆したものをざっとやってこの作業を得た:プロジェクトのプロパティ/ C/C++一般/パスとシンボルの下

、私はこのようなパスを追加しました:

$ {ProjDirPath}/../boost_1_39_0

  • アレックス
1

私は、Eclipseルナを使用して、受け入れ答えは、もはや正確でないことが分かっています。ヘッドスクラッチのビットの後、変化のカップルは、過去数年の間に起こっているようだ(少なくとも、これは私のシステムで何が起こったかです):

  • あなたは「クリックすると、Eclipseはもはや変数を展開し、[OK] "あなたがを持っていない場合"作業スペースパスです "と表示されます。
  • Eclipseは、実際にワークスペース内のプロジェクトを参照していない限り、ワークスペースに関連するパスを見つけることができません。 Eclipseので見つけることができません任意のパスは、ないは、これが機能するために-Iまたは他の関連スイッチ

とビルドコマンドラインに追加されますので、私は非として${ProjDirPath}/../whateverを入力する必要がありましたworkspace-relativeパスであり、変数はコンパイル時まで展開されません。

関連する問題