cppcheck/readme.txt

132 lines
4.4 KiB
Plaintext
Raw Normal View History

=========
Cppcheck
=========
About
The original name of this program is "C++check" but it was later changed to "cppcheck".
Manual
2010-12-15 18:45:53 +01:00
A manual is available online:
https://cppcheck.sourceforge.io/manual.pdf
Compiling
Any C++11 compiler should work. For compilers with partial C++11 support it may work. If
your compiler has the C++11 features that are available in Visual Studio 2013 / GCC 4.8
2018-04-10 06:52:33 +02:00
then it will work.
2010-02-19 17:34:50 +01:00
To build the GUI, you need Qt.
2020-09-01 17:37:28 +02:00
While building the command line tool, PCRE is optional. It is used if you build with rules.
2010-02-19 17:34:50 +01:00
For "bug hunting" you need Z3. Installing Z3:
* debian: "sudo apt-get install libz3-dev
* windows:
32-bit: https://github.com/Z3Prover/z3/releases/download/z3-4.8.7/z3-4.8.7-x86-win.zip
64-bit: https://github.com/Z3Prover/z3/releases/download/z3-4.8.7/z3-4.8.7-x64-win.zip
If you do not want to install z3 in some "system" include/lib paths you can put the files in
cppcheck/externals/z3/include and cppcheck/externals/z3/bin
2010-02-19 17:34:50 +01:00
There are multiple compilation choices:
* 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
* g++ 4.8 (or later)
2015-07-29 10:21:04 +02:00
* clang++
2010-02-19 17:34:50 +01:00
2019-06-27 06:51:59 +02:00
cmake
=====
Example, compiling Cppcheck with cmake:
mkdir build
cd build
2019-06-27 06:51:59 +02:00
cmake ..
cmake --build .
2019-06-27 06:51:59 +02:00
If you want to compile the GUI you can use the flag
-DBUILD_GUI=ON
For rules support (requires pcre) use the flag
-DHAVE_RULES=ON
For release builds it is recommended that you use:
-DUSE_MATCHCOMPILER=ON
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
=============
Use the cppcheck.sln file. The file is configured for Visual Studio 2019, 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.
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.
A current version of PCRE for Visual Studio can be obtained using vcpkg:
https://github.com/microsoft/vcpkg
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
========
Simple build (no dependencies):
make
2010-02-23 18:26:09 +01:00
The recommended release build is:
make MATCHCOMPILER=yes FILESDIR=/usr/share/cppcheck HAVE_RULES=yes
Flags:
MATCHCOMPILER=yes : Python is used to optimise cppcheck at compile time
FILESDIR=/usr/share/cppcheck : Specify folder where cppcheck files are installed
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)
=================
If you just want to build Cppcheck without dependencies then you can use this command:
g++ -o cppcheck -std=c++11 -Iexternals -Iexternals/simplecpp -Iexternals/tinyxml2 -Ilib cli/*.cpp lib/*.cpp externals/simplecpp/simplecpp.cpp externals/tinyxml2/*.cpp
If you want to use --rule and --rule-file then dependencies are needed:
g++ -o cppcheck -std=c++11 -lpcre -DHAVE_RULES -Ilib -Iexternals -Iexternals/simplecpp -Iexternals/tinyxml2 cli/*.cpp lib/*.cpp externals/simplecpp/simplecpp.cpp externals/tinyxml2/*.cpp
2013-01-12 14:05:03 +01: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
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.
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
Packages
You can install Cppcheck with yum/apt/brew/etc.
The official rpms are built with these files:
https://src.fedoraproject.org/rpms/cppcheck/tree/master
Webpage
https://cppcheck.sourceforge.io/