質問

既存の大規模なC ++コードベースがあります。通常、コードベースのユーザーはgvimでソースを編集しますが、Eclipseで気の利いたIDE機能の使用を開始したいと思います。コードベースには広範なディレクトリ階層がありますが、ビルドプロセスで使用するブードゥーのために、ソースファイルはパスなしのincludeディレクティブを使用します。ソースをEclipseのプロジェクトにリンクすると、インデクサーはヘッダーファイルを見つけることができないと文句を言います(インクルードでパスを指定しないため)。ワークスペースからインクルードパスにディレクトリを手動で追加すると、すべてが素晴らしく動作しますが、明らかに何百ものディレクトリを手動で追加することは実行不可能です。 Eclipseにインクルードファイルを1つずつ追加せずにインクルードファイルを探すように指示する簡単な方法はありますか?そうでない場合、作成/変更時にプロジェクトをスキャンし、プログラムですべてのディレクトリをインクルードパスに追加するプラグインを書くために、拡張するクラスなど、良い開始場所を誰かが提案できますか?

役に立ちましたか?

解決

この機能は現在の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

他のヒント

CD

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

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

...
</option>

これは、GUIで設定するすべてのビルドパスが配置される場所です。プロジェクトをたどってすべてのlistOptionValueエントリを生成する単純なperlスクリプトを使用して、これにすべてのディレクトリを追加するのは非常に簡単です。

これは明らかに理想的な方法ではありません。しかし、不思議なことに、どのビルドシステムから移行しているのか、makeベースの場合は、Makeファイルを使用してEclipseを取得できるはずです。

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

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top