Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History
140 lines (92 loc) · 5.51 KB

File metadata and controls

140 lines (92 loc) · 5.51 KB
Copy raw file
Download raw file
Outline
Edit and raw actions

Cppcheck

Linux ビルド状態 Windows ビルド状態 Coverity Scan Build 状態
Linux ビルド状態 Windows ビルド状態 Coverity Scan Build 状態

名前について

このプログラムは元々、"C++check"という名前でしたが後に"Cppcheck"に変更されました。

このような名前ですが、Cppcheckは CとC++の両方に対して設計されています。

マニュアル

マニュアルはオンライン上にあります。

ビルド

C++11に対応したコンパイラが利用できます。部分的にC++11にサポートしたコンパイラも利用できるかもしれません。もし、あなたのコンパイラがVisual Studio 2013や GCC 4.8で利用できるC++11機能がサポートされているなら、そのコンパイラが利用できます。

GUIも利用する場合、Qtライブラリが必要です。

コマンドラインツールをビルドする場合、PCREはオプションです。これはルールを作成するために利用します。

コンパイル上の選択肢がいくつかあります。

  • qmake - クロスプラットフォームのビルドツール
  • cmake - クロスプラットフォームのビルドツール
  • Windows: Visual Studio (VS 2013 またはそれ以上)
  • Windows: Qt Creator + mingw
  • gnu make
  • g++ 4.8 (またはそれ以上)
  • clang++

cmake

cmakeでCppcheckをコンパイルする例

mkdir build
cd build
cmake ..
cmake --build .

C++標準を指定する必要がある場合次のオプションを指定します。 -DCMAKE_CXX_STANDARD=11

CppcheckのGUIが必要な場合次のフラグを指定します。 -DBUILD_GUI=ON

pcreが必要になりますが、正規表現のルールサポートが必要な場合次のフラグを指定します。 -DHAVE_RULES=ON

qmake

GUIをビルドするには、gui/gui.proファイルが利用できます。

cd gui
qmake
make

Visual Studio

cppcheck.slnファイルが利用できます。このファイルは、Visual Studio 2019向けです。しかし、このプラットフォームツールセットはこれより新しいバージョンまたは古いバージョン向けに変更できます。このソルーションには、プラットフォームターゲットとしてx86とx64があります。

ルールをコンパイルするためには、"Release-PCRE" または "Debug-PCRE" 設定を選択してください。pcre.lib (または pcre64.lib x64ビルド向け) と pcre.h を /externals にコピーしてください。Visual Studio のための PCRE の最新バージョンは vcpkg から取得できます。

Qt Creator + MinGW

コマンドラインツールをビルドするには、PCRE.dllが必要です。これは以下のURLからダウンロードできます。: http://software-download.name/pcre-library-windows/

GNU make

単純で最適化しないビルド(依存関係なし):

make

推奨するリリースビルド方法:

make MATCHCOMPILER=yes FILESDIR=/usr/share/cppcheck HAVE_RULES=yes CXXFLAGS="-O2 -DNDEBUG -Wall -Wno-sign-compare -Wno-unused-function"

フラグ:

  1. MATCHCOMPILER=yes cppcheckの最適化にPythonを使用します。Token::Match パターンはコンパイル時にlC++コードに変換されます。

  2. FILESDIR=/usr/share/cppcheck cppcheckの設定ファイル(addon や cfg や platform)を置くディレクトリを指定します。

  3. HAVE_RULES=yes ルール機能の有効化 (ルール機能には PCRE が必要です)設定です。

  4. CXXFLAGS="-O2 -DNDEBUG -Wall -Wno-sign-compare -Wno-unused-function" ほとんどのコンパイラの最適化オプション、cppcheckの内部デバッグコードの無効化、基本的なコンパイラ警告の有効化

g++ (エキスパート向け)

依存関係なく Cppcheckをビルドしたい場合、次のコマンドを利用できます。

g++ -o cppcheck -std=c++11 -Iexternals -Iexternals/simplecpp -Iexternals/tinyxml2 -Ilib cli/*.cpp lib/*.cpp externals/simplecpp/simplecpp.cpp externals/tinyxml2/*.cpp

--rule--rule-file を利用する場合、依存ライブラリが必要です。

g++ -o cppcheck -std=c++11 -lpcre -DHAVE_RULES -Iexternals -Iexternals/simplecpp -Iexternals/tinyxml2 -Ilib cli/*.cpp lib/*.cpp externals/simplecpp/simplecpp.cpp externals/tinyxml2/*.cpp

MinGW

mingw32-make

その他のコンパイラ/IDE

  1. 空のプロジェクトファイル /makefileの作成
  2. cppcheck cli それに lib ディレクトリに含まれる全てのcppファイルをそのプロジェクトファイルまたはmakefileに加えます。
  3. externalsフォルダの全てのcppファイルをプロジェクトファイル / makefileに追加します。
  4. ビルド

Linux で Win32 コマンドラインバージョンをクロスコンパイル

sudo apt-get install mingw32
make CXX=i586-mingw32msvc-g++ LDFLAGS="-lshlwapi" RDYNAMIC=""
mv cppcheck cppcheck.exe

Webページ

https://cppcheck.sourceforge.io/

Morty Proxy This is a proxified and sanitized view of the page, visit original site.