Eclipse CDT からCppcheckの結果が見れたら便利だなーなんて思って、Eclipseのプラグインを探してみたら、こんなのを見つけた。
cppcheclipse - Integration for cppcheck with Eclipse (CDT) - Google Project Hosting
なんと語呂がいい名前。座布団一枚だ。 というわけで、試してみる。
環境
- Eclipse 4.2 Juno
- Windows 7
- Cppcheck 1.58(注:1.58でないと、Eclipse 4.2 Junoで動かなかった」
cppcheclipseのダウンロードとインストール
Eclipse CDTとCppcheckはインストールされていることが前提で。
Cppcheckがインストール方法は過去記事を参照ください。
CppCheckでC言語/C++のメモリリーク(解放漏れ)を静的解析で検出する。 | Futurismo
注:cygwinからのcppcheckでは動かないので注意すること。
cppcheclipseのインストールは、ツールバーから[ヘルプ] > [Eclipse マーケットプレイス]を選択して、cppcheckで検索すると見つかるので、インストールを選択。
Eclipseでの設定
インストールして再起動したら、ツールバーの[ウィンドウ] > [設定] > [C/C++]を選択する。選択項目にcppcheclipseが現れる。
まず、Cppcheckの実行バイナリを選択する。
次に、[設定]を選択して、cppcheck実行時のオプションを選択する。
とりあえずは、"-enable=all"だけでよい。
cppcheckを実行する
プロジェクト・エクスプローラからcppcheckを実行したいファイルやフォルダを選択して、右クリック。[cppcheck] > [run cppcheck]を選択して、実行。
実行の結果、エラーがあった場合は[問題ビュー]から確認できる。
そのまま、該当箇所にもジャンブで移動可能なのが嬉しい。
エディタにも、エラー箇所は赤く表示される。
[Ctrl + Alt + C]がCppcheckの実行に割り当てられている。
これで、アクティブなファイルに対して即座に静的解析が実行できる。とても便利だ。
cygwinにインストールしたcppcheckは使えない
cygwinにインストールしたcppcheckだと、cppcheckの結果を正しくEclipseがパースしてくれない。templateの指定方法が間違ってるようで、“問題"ビューにあらわれてくれない。
下のような感じで、表示されてしまう。
‘{file}:{line},{severity},{id},{message}’
WindowsにインストールしたCppcheckを使うこと。