2010-02-21 20:39:18 +01:00
|
|
|
=========
|
|
|
|
Cppcheck
|
|
|
|
=========
|
|
|
|
|
|
|
|
|
|
|
|
About
|
|
|
|
|
|
|
|
The original name of this program is "C++check" but it was later changed to "cppcheck".
|
|
|
|
|
2010-08-29 13:21:35 +02:00
|
|
|
Manual
|
|
|
|
|
2010-12-15 18:45:53 +01:00
|
|
|
A manual is available online:
|
2013-07-13 19:23:38 +02:00
|
|
|
http://cppcheck.sourceforge.net/manual.pdf
|
2010-02-21 20:39:18 +01:00
|
|
|
|
|
|
|
Compiling
|
|
|
|
|
2010-02-19 17:34:50 +01:00
|
|
|
Any C++ compiler should work.
|
|
|
|
|
2011-02-06 11:21:50 +01:00
|
|
|
To build the GUI, you need Qt.
|
|
|
|
|
2011-04-23 08:59:54 +02:00
|
|
|
When building the command line tool, PCRE is normally used.
|
|
|
|
PCRE is optional.
|
2010-02-19 17:34:50 +01:00
|
|
|
|
|
|
|
There are multiple compilation choices:
|
2011-02-06 11:21:50 +01:00
|
|
|
* qmake - cross platform build tool
|
2011-03-06 10:18:50 +01:00
|
|
|
* Windows: Visual Studio
|
|
|
|
* Windows: Qt Creator + mingw
|
2010-02-23 18:26:09 +01:00
|
|
|
* gnu make
|
|
|
|
* g++
|
2010-02-19 17:34:50 +01:00
|
|
|
|
|
|
|
qmake
|
|
|
|
=====
|
2010-12-15 18:45:53 +01:00
|
|
|
You can use the gui/gui.pro file to build the GUI.
|
2010-02-19 17:34:50 +01:00
|
|
|
cd gui
|
|
|
|
qmake
|
|
|
|
make
|
|
|
|
|
|
|
|
Visual Studio
|
|
|
|
=============
|
2011-04-23 08:59:54 +02:00
|
|
|
Use the cppcheck.sln file. The rules are normally enabled.
|
|
|
|
|
|
|
|
To compile with rules (pcre dependency):
|
|
|
|
* the pcre dll is needed. it can be downloaded from:
|
2013-07-13 19:23:38 +02:00
|
|
|
http://cppcheck.sourceforge.net/pcre-8.10-vs.zip
|
2011-04-23 08:59:54 +02:00
|
|
|
|
|
|
|
To compile without rules (no dependencies):
|
|
|
|
* remove the preprocessor define HAVE_RULES from the project
|
|
|
|
* remove the pcre.lib from the project
|
2011-03-06 10:18:50 +01:00
|
|
|
|
|
|
|
Qt Creator + mingw
|
|
|
|
==================
|
|
|
|
The PCRE dll is needed to build the CLI. It can be downloaded here:
|
|
|
|
http://software-download.name/pcre-library-windows/
|
2010-02-19 17:34:50 +01:00
|
|
|
|
2010-02-23 18:26:09 +01:00
|
|
|
gnu make
|
|
|
|
========
|
2013-12-26 18:41:51 +01:00
|
|
|
Simple build (no dependencies):
|
2011-11-10 20:49:55 +01:00
|
|
|
make
|
2010-02-23 18:26:09 +01:00
|
|
|
|
2013-12-26 18:41:51 +01:00
|
|
|
The recommended release build is:
|
|
|
|
make SRCDIR=build CFGDIR=cfg HAVE_RULES=yes
|
|
|
|
|
|
|
|
Flags:
|
|
|
|
SRCDIR=build : Python is used to optimise cppcheck
|
|
|
|
CFGDIR=cfg : Specify folder where .cfg files are found
|
|
|
|
HAVE_RULES=yes : Enable rules (pcre is required if this is used)
|
2013-01-12 14:05:03 +01:00
|
|
|
|
2010-02-19 17:34:50 +01:00
|
|
|
g++ (for experts)
|
|
|
|
=================
|
2011-02-12 08:50:38 +01:00
|
|
|
If you just want to build Cppcheck without dependencies then you can use this command:
|
2014-03-03 08:30:05 +01:00
|
|
|
g++ -o cppcheck -std=c++0x -Iexternals/tinyxml -Ilib cli/*.cpp lib/*.cpp externals/tinyxml/*.cpp
|
2011-02-12 08:50:38 +01:00
|
|
|
|
|
|
|
If you want to use --rule and --rule-file then dependencies are needed:
|
2014-03-03 08:30:05 +01:00
|
|
|
g++ -o cppcheck -std=c++0x -lpcre -DHAVE_RULES -Ilib -Iexternals/tinyxml cli/*.cpp lib/*.cpp externals/tinyxml/*.cpp
|
2013-01-12 14:05:03 +01:00
|
|
|
|
2010-08-29 13:21:35 +02:00
|
|
|
mingw
|
|
|
|
=====
|
2013-01-12 14:05:03 +01:00
|
|
|
The "LDFLAGS=-lshlwapi" is needed when building with mingw
|
|
|
|
mingw32-make LDFLAGS=-lshlwapi
|
2010-02-19 17:34:50 +01:00
|
|
|
|
2014-02-15 08:22:13 +01:00
|
|
|
other compilers/ide
|
|
|
|
===================
|
|
|
|
|
|
|
|
1. Create a empty project file / makefile.
|
|
|
|
2. Add all cpp files in the cppcheck cli and lib folders to the project file / makefile.
|
|
|
|
3. Compile.
|
|
|
|
|
2010-02-21 20:39:18 +01:00
|
|
|
Cross compiling Win32 (CLI) version of Cppcheck in Linux
|
|
|
|
|
|
|
|
sudo apt-get install mingw32
|
|
|
|
make CXX=i586-mingw32msvc-g++ LDFLAGS="-lshlwapi"
|
|
|
|
mv cppcheck cppcheck.exe
|
|
|
|
|
|
|
|
Webpage
|
|
|
|
|
2011-02-01 19:51:12 +01:00
|
|
|
http://cppcheck.sourceforge.net/
|