Eclipse(エクリプス)について
開発環境として利用可能な Eclipse についての詳細情報を記載します。
ワークスペースの基本設定
新規ワークスペースを作製したときに、推奨される設定です。
C/C++⇒プロパティー・ページ設定
・ [Display "Discovery Options" page] を有効
C/C++⇒ビルド⇒ロギング
・[Enable global build logging] のチェックをはずす
※ 本設定は必須ではない
C/C++⇒ビルド⇒設定 (Windows のみ)
エラーパーサーの [GNU gcc/g++ Error Parser] の [パターン] に /cygdrive/./ を追加。
例:
(.*?):(\d+):(\d+:)? [Ee]rror: ([`'"](.*)['"] undeclared .*)
↓
/cygdrive/./(.*?):(\d+):(\d+:)? [Ee]rror: ([`'"](.*)['"] undeclared .*)
C/C++⇒コード解析
以下のチェックをはずす。
・[Syntax and Semantic Errors⇒Field cannot be resolved]
・[Syntax and Semantic Errors⇒Symbol is not resolved]
※ 本設定は必須ではない
C/C++⇒インデクサー
[インデクサーのビルド構成→アクティブなビルド構成を使用] をチェック
プロジェクト設定
新規にプロジェクトを追加する場合の方法です。既存のプロジェクトをコピーする方法もありますが、ここでは全く新しいプロジェクトを定義する方法を紹介します。
新しいプロジェクトの作製
- 事前にプロジェクトを追加するワークスペースを開いておきます
- メニューより[ファイル]→[新規]→[Cプロジェクト] を選択
⇒ C プロジェクトダイアログが出現します- [プロジェクト名] に作製したいプロジェクト名を指定します
- [プロジェクト・タイプ] では [実行可能]→[空のプロジェクト] を選択します
- [ツールチェーン] では [Cross GCC] を選択します
↓[次へ] ボタンを押します。[構成の選択]ページになります。 - [構成] から [Release] のみを選択します。
↓[次へ] ボタンを押します。[Cross GCC Command]ページになります。 - 設定は不要で [完了] ボタンを押します
上記の手順で、空のプロジェクトが生成されます。これ以外の方法でもプロジェクトを生成することは可能ですが、生成されたプロジェクトに暗黙に定義された機能が違うこともあります。
最後にプロジェクトのひな型となるビルド可能なソースコードをコピーしておきます。 解説のためディレクトリ構成を以下のように仮定します。
TWESDK/ Wks_my/myProj/ : myProj というプロジェクト名を指定した myProj/myConf : myConf 構成ディレクトリ myProj/myConf/Build : ビルドディレクトリ (Makefile が格納される)※ myProj/myConf/Source : ソースディレクトリ Common/ : 共通ソースなど
※ ビルドディレクトリは TWESDK ディレクトリに対して、上記と同じ階層のみが許容されます。これ以外の例えばWks_my/myProj/Build のようなディレクトリには格納できません。
プロジェクトプロパティ
プロジェクトのプロパティ(メニューより [プロジェクト][プロパティ] を開く)による設定を行います。
プロジェクトプロパティ>C/C++ ビルド
上記の手順に従っていれば、Release という構成が一つあるだけですが、[構成の管理] ボタンを押して、事前に構成名を設定しておきます。これは後からも変更できます。この時点では複数の構成は定義しません。
ビルドの基本定義を行います。
- [ビルダー設定]>[デフォルトビルドコマンドを使用] (チェックをはずす)
- [ビルダー設定]>[Makefile 生成]>[自動的に Makefile を生成] (チェックをはずす)
- [ビルダー設定]>[ビルドコマンド] には make のパラメータを指定します。パラメータはビルド構成を決定するために用い、たとえば TWELITE 向けであることを明示的に示すには TWE_CHIP_MODEL=JN5164 を追加します。
例) make TWE_CHIP_MODEL=JN5164 - [ビルダー設定]>[ビルド・ロケーション]>[ビルド・ディレクトリ] には、Makefile が格納されたディレクトリを指定します。プロジェクトディレクトリを指定するため ${ProjDirPath} 変数が利用可能です。
例) ${ProjDirPath}/myConf/Build
その他の設定を行います。
- [振る舞い]>[Enable Parallel Build] (チェックする)
※ マルチコアのCPUが搭載されている場合、並列ビルドによりビルド時間が短縮されます。
プロジェクトプロパティ>C/C++ ビルド>ディスカバリー・オプション
※ 本設定は各構成ごとに必要です。
- [パスとシンボルの自動発見]>[パスとシンボルのディスカバリーを自動化] (チェックする)
プロジェクトプロパティ>C/C++ ビルド>環境
- PATH に以下を設定し、[ネイティブ環境を指定された環境と置換] のチェックを行います。
※ 少し長いのですが1行です。
${workspace_loc}/../Tools/ba-elf-ba2/bin${PathDelimiter}${workspace_loc}/../Tools/cygwin/bin${PathDelimiter}${workspace_loc}/../bin
プロジェクトプロパティ>C/C++ ビルド>ロギング
- [ロギングを使用可能にする] (チェックをはずす)
プロジェクトプロパティ>C/C++ 一般
- [ドキュメンテーション・ツール] に [Doxygen] を指定する。
プロジェクトプロパティ>C/C++ 一般>パスおよびシンボル
- [インクルード]>[GNU C] に以下を追加する。
※ 少し長いのですが1行です。
${workspace_loc}/../Tools/ba-elf-ba2/ba-elf/include
プロジェクトプロパティ>リソース
- [テキスト・ファイルのエンコード] に UTF-8 を明示的に指定する。
ビルドしてみる
プロジェクト・プロパティの設定が終われば、ビルドを実行してみます。ツールバーの金づちアイコンを押します。
コンソールにエラーが表示されなければビルドが完了しています。
複数の構成
構成を追加したい場合は、上記ビルドが正しく行えるようになった時点で、構成の管理機能を用いて作製済みの構成をコピー元にして新しい構成を作製します。
以下の設定が必要になります。
- [C/C++ ビルド]>[ビルダー設定]
- [C/C++ ビルド]>[ディスカバリー・オプション]
インデクサによるコード解釈
Eclipse にはインデクサ(索引)によるコード解釈機能があり、マクロの展開・構造体のメンバの提示など強力な編集機能が備わっています。この機能を有効に利用するにはインデクサが正しく動作させる必要があります。
コードが解釈されず、エディタ上にエラーやワーニングが多数表示される場合、以下の手順を行います。
- [プロジェクト]>[クリーン] を実行して、コンパイルの中間ファイルを削除しておきます。
- ビルドを実行します。
- [プロジェクト]>[C/C++索引]>[再ビルド] を実行します。
ビルド実行後、以下のようにインクルードされたファイルが列挙されている必要があり、この一覧に存在しないファイルがあったり、列挙がないまたは一つしかないような状況では、コード解釈が行われません。
このような場合、以下を試してみてください。
- [C/C++ ビルド]>[ディスカバリー・オプション]>[パスとシンボルの自動発見]>[発見されたエントリーをすぐにクリア] (ボタンを押す)
- 上記、再ビルドを行う。
うまくいかない場合は [ディスカバリー・オプション]>[パスとシンボルの自動発見] のプロファイルを[管理ビルドシステム - ...] に変更すると改善する場合があります。その際、[スキャナー情報生成コマンドを使用可能にする] のチェックを外します。