7

既存の大規模な C++ コードベースがあります。通常、コードベースのユーザーは gvim を使用してソースを編集しますが、Eclipse で気の利いた IDE 機能を使い始めたいと考えています。コードベースには広範なディレクトリ階層がありますが、ソース ファイルでは、ビルド プロセスで使用するいくつかのブードゥー教のために、パスのない include ディレクティブが使用されます。ソースを Eclipse のプロジェクトにリンクすると、インデクサーはヘッダー ファイルが見つからないと文句を言います (インクルードでパスを指定していないためです)。ワークスペースからインクルード パスにディレクトリを手動で追加すると、すべてが素晴らしく機能しますが、明らかに何百ものディレクトリを手動で追加することは現実的ではありません。インクルード ファイルを 1 つずつ追加することなく、プロジェクト内の任意の場所を探すように Eclipse に指示する簡単な方法はありますか? そうでない場合は、

4

4 に答える 4

5

CDT がビルド パスを管理する方法は、プロジェクト ディレクトリのベースにある .cdtbuild xml ファイルを調べることです (Windows では別の名前である可能性があります...よくわかりません)。

これには、次のようなものが表示されるはずです

<option id="gnu.c.compiler.option.include.paths....>
<listoptionValue builtIn="false" value="&quot;${workspace_loc:/some/path}$quot;" />
<listOptionValue ... />

...
</option>

これは、GUI で構成するすべてのビルド パスが配置される場所です。簡単な perl スクリプトを使用してプロジェクトをウォークし、すべての listOptionValue エントリを生成することで、すべてのディレクトリをこれに簡単に追加できます。

これは明らかに理想的な方法ではありません。しかし、興味があります。移行元のビルド システムは何ですか。make ベースの場合は、Eclipse で make ファイルを使用できるはずです。

于 2008-11-08T01:49:26.820 に答える
3

この機能は、現在の CDT 開発ストリームに既に実装されており、2009 年 6 月に Eclipse 3.5 と共にリリースされる CDT 6.0 で利用できるようになります。

基本的に、#include があり、ヘッダー ファイルがプロジェクトのどこかに存在する場合、CDT はインクルード パスを手動で設定しなくても見つけることができます。

この機能が今すぐ必要な場合は、最新の CDT 開発ビルドをダウンロードしてインストールできます。

Eclipse Bugzilla:https://bugs.eclipse.org/bugs/show_bug.cgi?id=21356
最新の CDT 6.0 ビルド:http://download.eclipse.org/tools/cdt/builds/6.0.0/index.html

于 2009-05-06T17:57:35.800 に答える
1

この Eclipse CDT FAQ エントリを読むと、 Eclipse 内からビルドを開始し、実際に/を開始する前にビルドがgcc/g++コマンドを出力する場合、Eclipse はインクルード ディレクトリのリストを自動的に生成できるようです。[Project Properties] で [C/C++ Build] カテゴリを選択し、ダイアログの右側にある [Build Command] オプションを探して、Eclipse がビルドを開始する方法を変更できます。gccg++

于 2008-11-13T15:38:05.547 に答える
0

ビルドプロセスで実行しているブードゥーの量によっては、特に異なるソースファイルに同じ名前のヘッダーがある場合、Eclipseがソースファイルを正しく解析できない場合があります。本当にEclipseを最大限に活用したい場合は、どのような設定でもパーサーを混乱させないようにする必要があります。個人的には、シンプルなレイアウトとビルドプロセスを使用することをお勧めします。

手元の質問に関しては、ディレクトリを1つずつ追加するのが最善の策です。

于 2008-11-08T03:55:57.470 に答える