GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - pfultz2/cppcheck: static analysis of C/C++ code

BranchesTags
Open more actions menu
 
 

Latest commit

 

History

20,231 Commits
20,231 Commits

Folders and files

NameName
Last commit message
Last commit date
Cppcheck.xcodeproj
Cppcheck.xcodeproj
 
 
addons
addons
 
 
cfg
cfg
 
 
cli
cli
 
 
cmake
cmake
 
 
cve-test-suite
cve-test-suite
 
 
democlient
democlient
 
 
externals
externals
 
 
gui
gui
 
 
htmlreport
htmlreport
 
 
lib
lib
 
 
man
man
 
 
oss-fuzz
oss-fuzz
 
 
platforms
platforms
 
 
rules
rules
 
 
samples
samples
 
 
snap
snap
 
 
test
test
 
 
tools
tools
 
 
win_installer
win_installer
 
 
.astylerc
.astylerc
 
 
.codacy.yml
.codacy.yml
 
 
.gitignore
.gitignore
 
 
.mailmap
.mailmap
 
 
.travis.yml
.travis.yml
 
 
.travis_llvmcheck_suppressions
.travis_llvmcheck_suppressions
 
 
.travis_suppressions
.travis_suppressions
 
 
AUTHORS
AUTHORS
 
 
CMakeLists.txt
CMakeLists.txt
 
 
COPYING
COPYING
 
 
Makefile
Makefile
 
 
appveyor.yml
appveyor.yml
 
 
benchmarks.txt
benchmarks.txt
 
 
build-pcre.txt
build-pcre.txt
 
 
build.bat
build.bat
 
 
console_common.pri
console_common.pri
 
 
cppcheck-errors.rng
cppcheck-errors.rng
 
 
cppcheck.cbp
cppcheck.cbp
 
 
cppcheck.cppcheck
cppcheck.cppcheck
 
 
cppcheck.sln
cppcheck.sln
 
 
createrelease
createrelease
 
 
doxyfile
doxyfile
 
 
generate_coverage_report
generate_coverage_report
 
 
philosophy.md
philosophy.md
 
 
readme.md
readme.md
 
 
readme.txt
readme.txt
 
 
readmeja.md
readmeja.md
 
 
requirements.txt
requirements.txt
 
 
runastyle
runastyle
 
 
runastyle.bat
runastyle.bat
 
 
webreport.sh
webreport.sh
 
 

Repository files navigation

Cppcheck

Linux Build Status Windows Build Status Coverity Scan Build Status
Linux Build Status Windows Build Status Coverity Scan Build Status

Donations

If you find Cppcheck useful for you, feel free to make a donation.

Donate

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++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.6 then it will work.

To build the GUI, you need Qt.

When building the command line tool, PCRE is optional. It is used if you build with rules.

There are multiple compilation choices:

  • qmake - cross platform build tool
  • cmake - cross platform build tool
  • Windows: Visual Studio (VS 2013 and above)
  • Windows: Qt Creator + mingw
  • gnu make
  • g++ 4.6 (or later)
  • clang++

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 file is configured for Visual Studio 2015, but the platform toolset can be changed easily to older or newer versions. The solution contains platform targets for both x86 and x64.

To compile with rules, select "Release-PCRE" or "Debug-PCRE" configuration. pcre.lib (pcre64.lib for x64 builds) and pcre.h are expected to be in /externals then.

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

Simple, unoptimized build (no dependencies):

make

The recommended release build is:

make SRCDIR=build CFGDIR=cfg HAVE_RULES=yes CXXFLAGS="-O2 -DNDEBUG -Wall -Wno-sign-compare -Wno-unused-function"

Flags:

  1. SRCDIR=build
    Python is used to optimise cppcheck

  2. CFGDIR=cfg
    Specify folder where .cfg files are found

  3. HAVE_RULES=yes
    Enable rules (PCRE is required if this is used)

  4. CXXFLAGS="-O2 -DNDEBUG -Wall -Wno-sign-compare -Wno-unused-function" Enables most compiler optimizations, disables cppcheck-internal debugging code and enables basic compiler warnings.

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/tinyxml -Ilib cli/*.cpp lib/*.cpp externals/simplecpp/simplecpp.cpp externals/tinyxml/*.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/tinyxml cli/*.cpp lib/*.cpp externals/simplecpp/simplecpp.cpp externals/tinyxml/*.cpp

MinGW

mingw32-make LDFLAGS=-lshlwapi

Other Compiler/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. 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" RDYNAMIC=""
mv cppcheck cppcheck.exe

Webpage

http://cppcheck.sourceforge.net/

About

static analysis of C/C++ code

cppcheck.sourceforge.net/

Resources

Readme
GPL-3.0 license
Activity

Stars

0 stars

Watchers

1 watching

Forks

0 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.