1. fix typos / misspellings - Fix misspelling within comments, variable/function names, stdout messages - changes the name of an error code: ```stlBoundries``` changed to ```stlBoundaries```. Alias old name (```stlBoundries```) to the new one. 2. fix gcc v3.4.6 32bit & 64bit warnings - fixes gcc v3.4.6 warnings, except for those in tinyxml and "-Wmissing-declarations" makefile warnings - in Preprocessor::handleIncludes(), replace a ```vector <bool>``` with ```stack<bool>``` (see ```vector<bool>``` warning below). - this is the only ```vector<bool>``` in the codebase - ```vector <bool>``` is actually a case of template specialization, and is not recommended, according to the following links: http://stackoverflow.com/q/6461487 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2160.html http://stackoverflow.com/q/670308 - in the codebase before and after this change, testrunner SEGVs in a number of places on gcc v3.4.6, including ```Check::~Check()```, among others - fc42fc95 fixes this particular runtime issue for DJGPP & __sun
Cppcheck
Donations
Donations
If you find Cppcheck useful for you, feel free to make a donation.
About the name
The original name of this program was "C++check", but it was later changed to "Cppcheck".
Despite the name, Cppcheck is designed for both C and C++.
Manual
A manual is available online.
Compiling
Any C++ compiler should work.
To build the GUI, you need Qt.
When building the command line tool, PCRE is normally used. PCRE is optional.
There are multiple compilation choices:
- qmake - cross platform build tool
- Windows: Visual Studio or Qt Creator or MinGW
- gnu make
- g++
qmake
You can use the gui/gui.pro file to build the GUI.
cd gui
qmake
make
Visual Studio
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 here.
To compile without rules (no dependencies):
- remove the preprocessor define
HAVE_RULES
from the project - remove the pcre.lib from the project
Qt Creator + MinGW
The PCRE dll is needed to build the CLI. It can be downloaded here: http://software-download.name/pcre-library-windows/
gnu make
To build Cppcheck with rules (PCRE dependency):
make HAVE_RULES=yes
To build Cppcheck without rules (no dependencies):
make
g++ (for experts)
If you just want to build Cppcheck without dependencies then you can use this command:
g++ -o cppcheck -Ilib cli/*.cpp lib/*.cpp
If you want to use --rule
and --rule-file
then dependencies are needed:
g++ -o cppcheck -lpcre -DHAVE_RULES -Ilib -Iexternals cli/*.cpp lib/*.cpp externals/tinyxml/*.cpp
MinGW
make LDFLAGS=-lshlwapi
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