7

Eclipse-CDT で相対パスを使用してサード パーティの C++ コンポーネント (インクルード、ライブラリなど) を参照するベスト プラクティスは何ですか?

  • Boost と Google protobuf を参照しようとしています。
  • それらをそれぞれワークスペースのフォルダーに入れました。たとえば、/home/user/workspace/boost_1_39_9 です。
  • プロジェクト プロパティのビルド設定の下にそのフォルダーへの参照を追加しましたが、Eclipse ではそのパスをワークスペース フォルダーからの相対パスとして指定できません。ファイル システムを使用して選択し、絶対パスを指定する必要があります。

ありがとう、

  • アレックス
4

4 に答える 4

6

${workspace_loc} や ${project_loc} などの Eclipse 変数は、実行時の Eclipse ワークスペースに実際にあるものに対してのみ機能します。それらをファイルシステムのワークスペースの下に置くと言うとき、実際にファイルをEclipseにインポートしましたか(新しいプロジェクトを使用するか、既存のプロジェクトにリンクされたフォルダーを作成します)?

ファイルがファイルシステムには存在するが、Eclipse 自体には存在しない場合、Eclipse は絶対パスでしかアクセスできません。

ところで、CDT には独自の変数 ${WorkspaceDirPath} ${ProjDirPath} ${ProjName} があり、特定のファイルシステムの場所に展開されます。

于 2009-10-25T17:42:36.613 に答える
0

インクルードが /usr/include および /usr/lib/ または /lib の下にあるように、boost をインストールしようとしましたか。次に、それらのパスをビルド設定に追加するだけです。同様の問題がありましたが、カスタム makefile を使用して解決しました。既にカスタム ビルド フレームワークがあり、既存のメイクファイルにいくつかの変更を加えて、それをこのプロジェクトにコピーするだけでよいので、うまくいきました。

于 2009-12-30T22:20:14.423 に答える