static analysis of C/C++ code
Go to file
Daniel Marjamäki db4a28d60b Tokenizer::simplifyGoto: Only simplify the last label in the function. If there are many labels in the same function and all labels are simplified, this function becomes very slow. 2011-07-01 18:07:41 +02:00
Cppcheck.xcodeproj Adapted Xcode project for version 1.45 and Xcode 3.2.4 2010-10-21 22:57:06 +02:00
cli 1.49: updated version 2011-06-12 18:24:31 +02:00
externals/tinyxml Don't use relative paths in tinyxml.pri. 2010-12-18 16:29:58 +02:00
gui GUITESTS: Improve the running script. 2011-06-23 23:02:49 +03:00
htdocs Web: Update style from trac timeline items at dev info page 2011-06-27 21:51:12 +02:00
htmlreport html report: better handling of non ASCII characters in C source code 2011-04-16 11:22:44 +02:00
lib Tokenizer::simplifyGoto: Only simplify the last label in the function. If there are many labels in the same function and all labels are simplified, this function becomes very slow. 2011-07-01 18:07:41 +02:00
man Drop "Writing Cppcheck rules" and "Cppcheck Design" articles from build file 2011-06-27 23:51:00 +02:00
rules Add a few more rules 2011-02-02 20:08:03 -06:00
scripts scripts: added tabs.pl - in my opinion it is bad to use tabs inside string constants. spaces or \t should be used instead. 2011-02-05 12:53:28 +01:00
test fix false positive for unused local class/struct variable 2011-07-01 08:45:29 -04:00
tools Ticket: #2823 (cppcheck fails to build with system tinymxl and -Wl,--as-needed) 2011-06-19 20:56:12 +03:00
win_installer 1.49: updated version 2011-06-12 18:24:31 +02:00
.gitignore Add .obj files to gitignore. 2011-02-05 23:46:10 +02:00
AUTHORS With the agreement of Daniel Marjamäki, I write my name in this AUTHORS file. 2011-06-11 00:03:55 +02:00
COPYING Licensing: Using the GPL 3 license 2008-10-26 07:55:15 +00:00
Changelog 1.49: Updated the changelog 2011-06-12 18:26:15 +02:00
Makefile Ticket: #2823 (cppcheck fails to build with system tinymxl and -Wl,--as-needed) 2011-06-19 20:56:12 +03:00
build-pcre.txt renamed build.txt to build-pcre.txt 2011-02-14 21:11:06 +01:00
build.bat Add "all" target for build.bat. 2010-01-09 13:54:56 +02:00
cppcheck.cbp Update codeblocks project file to contain new files 2011-03-17 23:36:58 +02:00
cppcheck.cppcheck Skip checking gui/temp when using project file. 2011-03-05 13:18:08 +02:00
cppcheck.sln Borland C++: Fixed compiler errors 2010-12-31 10:24:51 +01:00
cppcheck_vs2010.sln Add x64 build targets for VS 2010. 2010-10-26 19:32:07 +03:00
createrelease createrelease: updated upload command 2011-06-21 17:46:16 +02:00
doxyfile doxygen: enabled the JAVADOC_AUTOBRIEF so the @brief isn't required 2010-03-17 21:29:45 +01:00
generate_coverage_report LCOV: updated the generate_coverage_report to avoid some redundant compiler warnings 2011-03-14 11:21:35 +01:00
readme.txt readme: added a little info about compiling without pcre 2011-04-23 08:59:54 +02:00
readme_64-bit_Windows.txt Fixed some spelling mistakes 2010-12-15 18:45:53 +01:00
readme_gui.txt GUITESTS: Add short mention of tests to gui readme. 2011-06-18 13:11:05 +03:00
runastyle Fix #2843, Astyle script does not recognize Astyle 2.02 2011-06-22 21:41:14 +03:00
runastyle.bat Run Astyle recursively for gui/test. 2011-06-10 14:22:18 +03:00
webreport.sh webreport: refactoring 2011-03-14 13:40:10 +01:00

readme.txt

=========
Cppcheck
=========


About

    The original name of this program is "C++check" but it was later changed to "cppcheck".

Manual

    A manual is available online:
    http://cppcheck.sf.net/manual.pdf

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
      * Windows: Qt Creator + 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:
                http://cppcheck.sf.net/pcre-8.10-vs.zip

        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

        To build Cppcheck without rules (no dependencies):
            make HAVE_RULES=no

    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

Webpage

    http://cppcheck.sourceforge.net/