diff --git a/man/manual.md b/man/manual.md index b0a9a6088..bc710d6d9 100644 --- a/man/manual.md +++ b/man/manual.md @@ -954,11 +954,65 @@ This allows you to create and manage multiple configuration files for different # Library configuration -When external libraries are used, such as WinAPI, POSIX, gtk, Qt, etc, Cppcheck doesn't know how the external functions behave. Cppcheck then fails to detect various problems such as memory leaks, buffer overflows, possible null pointer dereferences, etc. But this can be fixed with configuration files. +When external libraries are used, such as WinAPI, POSIX, gtk, Qt, etc, Cppcheck has no information about functions, types, or macros contained in those libraries. Cppcheck then fails to detect various problems in the code, or might even abort the analysis. But this can be fixed by using the appropriate configuration files. -Cppcheck already contains configurations for several libraries. They can be loaded as described below. Note that the configuration for the standard libraries of C and C++, std.cfg, is always loaded by cppcheck. If you create or update a configuration file for a popular library, we would appreciate if you upload it to us. +Cppcheck already contains configurations for several libraries. They can be loaded as described below. Note that the configuration for the standard libraries of C and C++, std.cfg, is always loaded by cppcheck. If you create or update a configuration file for a popular library, we would appreciate if you supplied it to the cppcheck project. -## Using your own custom .cfg file +## Using a .cfg file + +To use a .cfg file shipped with cppcheck, pass the `--library=` option. The table below shows the currently existing libraries: +| .cfg file | Library | Comment | +| ------------- | ------------- | ------------- | +| avr.cfg | | +| bento4.cfg | [Bento4](http://www.bento4.com/) | +| boost.cfg | [Boost](http://www.boost.org/)| +| bsd.cfg | [*BSD](https://www.freebsd.org/) | +| cairo.cfg | [cairo](https://www.cairographics.org/) | +| cppcheck-lib.cfg | [Cppcheck](http://cppcheck.net/) | Used in selfcheck of the Cppcheck code base +| cppunit.cfg | [CppUnit](https://sourceforge.net/projects/cppunit/) | +| dpdk.cfg | | +| embedded_sql.cfg | | +| emscripten.cfg | | +| ginac.cfg | | +| gnu.cfg | [*nix](https://www.gnu.org/) | +| googletest.cfg | [GoogleTest](https://github.com/google/googletest) | +| gtk.cfg | [GTK](https://www.gtk.org/) | +| icu.cfg | | +| kde.cfg | [KDE](https://kde.org/) | +| libcerror.cfg | [libcerror](https://github.com/libyal/libcerror) | +| libcurl.cfg | [libcurl](https://curl.se/libcurl/) | +| libsigc++.cfg | [libsigc++](https://github.com/libsigcplusplus/libsigcplusplus) | +| lua.cfg | | +| mfc.cfg | [MFC](https://learn.microsoft.com/en-us/cpp/mfc/mfc-desktop-applications) | +| microsoft_atl.cfg | [ATL](https://learn.microsoft.com/en-us/cpp/atl/active-template-library-atl-concepts) | +| microsoft_sal.cfg | [SAL annotations](https://learn.microsoft.com/en-us/cpp/c-runtime-library/sal-annotations) | +| microsoft_unittest.cfg | [CppUnitTest](https://learn.microsoft.com/en-us/visualstudio/test/microsoft-visualstudio-testtools-cppunittestframework-api-reference) | +| motif.cfg | | +| nspr.cfg | | +| ntl.cfg | | +| opencv2.cfg | [OpenCV](https://opencv.org/) | +| opengl.cfg | [OpenGL](https://opengl.org/) | +| openmp.cfg | [OpenMP](https://www.openmp.org/) | +| openssl.cfg | [OpenSSL](https://www.openssl.org/) | +| pcre.cfg | [PCRE](https://pcre.org/) | +| posix.cfg | [POSIX](https://pubs.opengroup.org/onlinepubs/9699919799/) | +| python.cfg | | +| qt.cfg | [Qt](https://www.qt.io/) | +| ruby.cfg | | +| sdl.cfg | | +| sfml.cfg | | +| sqlite3.cfg | [SQLite](https://www.sqlite.org/) | +| std.cfg | C/C++ standard library | Loaded by default +| tinyxml2.cfg | [TinyXML-2](https://github.com/leethomason/tinyxml2) | +| vcl.cfg | | +| windows.cfg | [Win32 API](https://learn.microsoft.com/en-us/windows/win32/) | +| wxsqlite3.cfg | | +| wxsvg.cfg | | +| wxwidgets.cfg | [wxWidgets](https://www.wxwidgets.org/) | +| zephyr.cfg | | +| zlib.cfg | [zlib](https://www.zlib.net) | + +## Creating a custom .cfg file You can create and use your own .cfg files for your projects. Use `--check-library` to get hints about what you should configure.