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
|
|
|
|
|
2014-03-05 06:15:44 +01:00
|
|
|
Any C++11 compiler should work. For compilers with partial C++11 support it may work. If
|
2018-04-10 06:52:33 +02:00
|
|
|
your compiler has the C++11 features that are available in Visual Studio 2013 / GCC 4.6
|
|
|
|
then it will work.
|
2010-02-19 17:34:50 +01:00
|
|
|
|
2011-02-06 11:21:50 +01:00
|
|
|
To build the GUI, you need Qt.
|
|
|
|
|
2014-03-05 06:15:44 +01:00
|
|
|
When building the command line tool, PCRE is optional. It is used if you build with rules.
|
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
|
2015-07-29 10:21:04 +02:00
|
|
|
* cmake - 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
|
2015-07-29 10:21:04 +02:00
|
|
|
* g++ 4.6 (or later)
|
|
|
|
* clang++
|
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
|
|
|
|
=============
|
2015-11-01 10:29:44 +01:00
|
|
|
Use the cppcheck.sln file. The file is configured for Visual Studio 2015, but the platform
|
2015-07-29 10:21:04 +02:00
|
|
|
toolset can be changed easily to older or newer versions. The solution contains platform
|
|
|
|
targets for both x86 and x64.
|
2011-04-23 08:59:54 +02:00
|
|
|
|
2015-07-29 10:21:04 +02:00
|
|
|
To compile with rules, select "Release-PCRE" or "Debug-PCRE" configuration.
|
2015-11-01 10:29:44 +01:00
|
|
|
pcre.lib (pcre64.lib for x64 builds) and pcre.h are expected to be in /externals then.
|
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:
|
2019-06-23 13:43:09 +02:00
|
|
|
make MATCHCOMPILER=yes CFGDIR=cfg HAVE_RULES=yes
|
2013-12-26 18:41:51 +01:00
|
|
|
|
|
|
|
Flags:
|
2019-06-23 13:43:09 +02:00
|
|
|
MATCHCOMPILER=yes : Python is used to optimise cppcheck at compile time
|
|
|
|
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:
|
2019-05-17 09:31:41 +02:00
|
|
|
g++ -o cppcheck -std=c++11 -Iexternals -Iexternals/simplecpp -Iexternals/tinyxml -Ilib cli/*.cpp lib/*.cpp externals/simplecpp/simplecpp.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:
|
2019-05-17 09:31:41 +02:00
|
|
|
g++ -o cppcheck -std=c++11 -lpcre -DHAVE_RULES -Ilib -Iexternals -Iexternals/simplecpp -Iexternals/tinyxml cli/*.cpp lib/*.cpp externals/simplecpp/simplecpp.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.
|
2017-08-21 12:31:50 +02:00
|
|
|
3. Add all cpp files in the externals folders to the project file / makefile.
|
|
|
|
4. Compile.
|
2014-02-15 08:22:13 +01:00
|
|
|
|
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/
|