VisualStudio C++で静的解析ツールcppcheckを実行する

2 min読了の目安(約1500字TECH技術記事

cppcheckのインストール

http://cppcheck.sourceforge.net/ からソフトウェアをダウンロードしてインストールします。

Visual C++への組み込み

メニューから「ツール」→「外部ツール」を選択します

タイトル(T)

自由に設定可能です。ここではcppcheckとします。

コマンド(C)

C:\Program Files\Cppcheck\cppcheck.exe
64ビット版Windowsで32ビット版cppcheckをご利用の場合は以下のようにして下さい。
C:\Program Files (x86)\Cppcheck\cppcheck.exe

引数(R)

オプションの説明は後ほどいたしますので、ここでは以下のように入力してください

ソリューション全体をチェックしたい場合

--quiet --enable=warning,style,performance,portability --language=c++ -j %NUMBER_OF_PROCESSORS% --template=vs --project=$(SolutionDir)\$(SolutionFileName)

プロジェクト全体をチェックしたい場合

--quiet --enable=warning,style,performance,portability --language=c++ -j %NUMBER_OF_PROCESSORS% --template=vs --project=$(ProjectDir)\$(ProjectFileName)

現在開いているファイルをチェックしたい場合

--quiet --enable=warning,style,performance,portability --language=c++ --template=vs $(ItemPath)

初期ディレクトリ(I)

現在開いているファイルをチェックする場合

$(ItemDir)

プロジェクト全体をチェックする場合

$(ProjectDir)

その他

出力ウィンドウを使用(O)にチェックを入れると、出力ウィンドウ上のcppcheckの結果からダブルクリックするだけで該当箇所へジャンプすることが出来とても便利です。

おまけ

--enableオプションについて

引数 コメント
warning バグを防ぐための提案
style コードのクリーンアップに関連した問題(未使用の機能、冗長コード、const性、その他)
performance 高速なコードを作るための提案
portability 64ビットへの移植など移植性の警告。異なるコンパイラで異なる動作する可能性があります
information 設定の問題。configの設定時に有効にすることができます
unusedFunction 未使用関数の検出。ただしjオプションを使用した場合は無効

--enable=warning,style,performance,portability
このように,で区切って指定することが出来ます。

その他

さらに詳しい説明は公式マニュアルを参照して下さい。