2017-08-18 15 views
1

依存性を維持するために私のプロジェクトをビルドするカスタムPythonスクリプトがあります。EclipseをC++ IDEとして使用したいのですが、ビルドスクリプトはそのまま使用したいと思います。Eclipse IDEカスタムビルドスクリプトの自動インクルードパス

私はEclipseに(標準ではない)ヘッダーを伝えたいと思いますし、スクリプトの依存関係の解決時に追加することを定義したいと思います。

「.cproject」ファイルにこのような情報が含まれていることが判明しました。ビルドスクリプトから変更するのは安全ですか、それともEclipse自体にスクリプトを統合する方法はありますか?

例:

# TestGame.json 
{ 
    "name": "TestGame", 
    "extend": "BASE", 
    "actions": ["COMPILE", "LINK"], 
    "CC": [ 
    "G++11" 
    ], 
    "dep": { 
    "builds": ["DFResourcer", "DFSDL"], 
    "libs": ["SDL2", "SDL2main"] 
    } 
} 

私のビルド・スクリプトが変更されたファイルをコンパイルし、すべての必要なファイルとそれらをリンクし、その必要、他のパスを「/ホーム/ CPP-プロジェクト/ DFSDL /には、」わかりますでしょう含まれており、必要性のためにすること--std = C 11は、私が見つけた

答えて

1

自動補完などのためにもそこのヘッダーを検索するためのEclipseを(ない手動で)伝える方法を...したい++その ".cproject"ファイルにはこのような情報が含まれています。ビルドスクリプトから変更しても安全です

ファイル形式は文書化されていないため、推奨されていません。Eclipse版では安定しているとは限らないためです。

Eclipse自体にスクリプトを統合する方法はありますか?

スクリプトを実行し、それと通信したり、生成された出力を消費するEclipseプラグインを作成できます。しかし、それは重い解決策のようです。

私は、次の簡単な解決策を示唆している:

Eclipseはビルド出力パーサを持っています。 this oneのように、他の回答に使用する方法を書いています。基本的には、make呼び出しの出力を解析し、コンパイラコマンドのような行を解析し、そのコマンドの-I引数に基づいてインクルードパスを設定するように設計されています。

makeではなくカスタムビルドスクリプトを使用していても、このスクリプトを使用できます。スクリプトが呼び出すコンパイラコマンドを出力するだけです(必要ならば、--verbose )、プロジェクトをビルドするときにmake(使用した場合はフラグを渡す)ではなくビルドスクリプトを呼び出すようにEclipseを設定します。

+0

すべての構成に対してビルド出力パーサーを設定し、それをすべての新規プロジェクトに使用するにはどうすればよいですか? – DarioDF

+0

@DarioDF私はMakefileプロジェクトのためにビルド出力パーサーはデフォルトで有効にするべきだと思います。すべての新しいプロジェクトにカスタムビルドコマンドを自動的に使用することに関して...私は分かりません。おそらく、既存のプロジェクト(プロジェクトエクスプローラの[コピー/ペースト])からコピーして新しいプロジェクトを作成することができますか? – HighCommander4