Namespaces
Variants
Views
Actions

Difference between revisions of "c/links/libs"

From cppreference.com
< c‎ | links
(Add dbg-macro in c/links/libs)
m (-ImGui, -glm (added by mistake), +sqlite info.)
 
(25 intermediate revisions by 9 users not shown)
Line 1: Line 1:
 
{{title|A list of open source C libraries}}
 
{{title|A list of open source C libraries}}
<div style="border: 1px solid silver; border-radius: 5px; padding: 0.5em;">
+
{{cpp/links/objectives}}
The objective of this page is to build a comprehensible list of open source C libraries, so that when one needs an implementation of particular functionality, one need not waste time searching on Google.
+
+
If you know a library that might be useful to others, please add a link to it here. There are no restrictions on what can be included except that it must be possible to download the source of the library.
+
  
The page is provided 'as is' - with the hope of being useful, but without any warranties. Outdated, misleading or wrong links might appear here. If you've noticed one of these, it would be great if you fixed the error.
+
=Package managers=
</div>
+
 
 +
{{cpp/links/package managers}}
 +
 
 +
=Libraries=
  
 
==Operating system==
 
==Operating system==
 
; Access control
 
; Access control
*{{lib| acl | https://savannah.nongnu.org/projects/acl/ }}
+
{{libtablebegin}}
*{{lib| apparmor | https://apparmor.net/ }}
+
{{librow | acl | https://savannah.nongnu.org/projects/acl/ }}
 +
{{librow | apparmor | https://apparmor.net/ }}
 +
{{libtableend}}
  
 
; Extended attributes
 
; Extended attributes
*{{lib| attr | https://savannah.nongnu.org/projects/attr/ }}
+
{{libtablebegin}}
 +
{{librow | attr | https://savannah.nongnu.org/projects/attr/ }}
 +
{{libtableend}}
  
==Graphic user interface==
+
==Graphical user interface==
*{{lib| IUP |http://www.tecgraf.puc-rio.br/iup/}}
+
{{libtablebegin}}
*{{lib| tiny file dialogs | https://sourceforge.net/projects/tinyfiledialogs/ | a single C cross-platform file (no init, no main loop, 6 modal function calls)}}
+
{{librow | IUP | http://www.tecgraf.puc-rio.br/iup/}}
 +
{{librow | Nuklear | https://github.com/Immediate-Mode-UI/Nuklear | A single-header ANSI C immediate mode cross-platform GUI library. ([https://immediate-mode-ui.github.io/Nuklear/doc/index.html Doc]) }}
 +
{{librow | lvgl | https://github.com/lvgl/lvgl | Powerful and easy-to-use embedded GUI library with many widgets, advanced visual effects (opacity, anti-aliasing, animations) and low memory requirements (16K RAM, 64K Flash). ([https://docs.lvgl.io/master/index.html Doc]) }}
 +
{{librow | tiny file dialogs | https://sourceforge.net/projects/tinyfiledialogs/ | A single C cross-platform file (no init, no main loop, 6 modal function calls) }}
 +
{{libtableend}}
  
 
==Gtk+ widgets==
 
==Gtk+ widgets==
*{{lib| appmenu-gtk | https://launchpad.net/appmenu-gtk }}
+
{{libtablebegin}}
*{{lib| ghex | https://wiki.gnome.org/Apps/Ghex }}
+
{{librow | appmenu-gtk | https://launchpad.net/appmenu-gtk }}
*{{lib| goocanvas | https://wiki.gnome.org/Projects/GooCanvas }}
+
{{librow | ghex | https://wiki.gnome.org/Apps/Ghex }}
*{{lib| gtkhotkey | https://launchpad.net/gtkhotkey }}
+
{{librow | goocanvas | https://wiki.gnome.org/Projects/GooCanvas }}
*{{lib| gtk+ | https://www.gtk.org/ }}
+
{{librow | gtkhotkey | https://launchpad.net/gtkhotkey }}
*{{lib| gtksourceview | https://wiki.gnome.org/Projects/GtkSourceView }}
+
{{librow | gtk+ | https://www.gtk.org/ }}
*{{lib| gtkspell | http://gtkspell.sourceforge.net/ }}
+
{{librow | gtksourceview | https://wiki.gnome.org/Projects/GtkSourceView }}
*{{lib| gucharmap | https://wiki.gnome.org/Apps/Gucharmap }}
+
{{librow | gtkspell | https://gtkspell.sourceforge.net/ }}
*{{lib| webkitgtk | https://www.webkitgtk.org/ }}
+
{{librow | gucharmap | https://wiki.gnome.org/Apps/Gucharmap }}
 +
{{librow | webkitgtk | https://www.webkitgtk.org/ }}
 +
{{libtableend}}
  
 
==Microsoft Excel==
 
==Microsoft Excel==
*{{lib| libxlsxwriter | https://libxlsxwriter.github.io/ }}
+
{{libtablebegin}}
*{{lib| xlsx_drone | https://github.com/damian-m-g/xlsx_drone }}
+
{{librow | libxlsxwriter | https://libxlsxwriter.github.io/ }}
 +
{{librow | xlsx_drone | https://github.com/damian-m-g/xlsx_drone }}
 +
{{libtableend}}
  
 
==Audio==
 
==Audio==
 
; CD
 
; CD
*{{lib| cdparanoia | https://www.xiph.org/paranoia/ }}
+
{{libtablebegin}}
 +
{{librow | cdparanoia | https://www.xiph.org/paranoia/ }}
 +
{{libtableend}}
  
 
; Codecs
 
; Codecs
*{{lib| aften | http://aften.sourceforge.net/ }}
+
{{libtablebegin}}
*{{lib| faad2 | http://www.audiocoding.com/ }}
+
{{librow | aften | http://aften.sourceforge.net/ }}
*{{lib| wavpack | http://www.wavpack.com }}
+
{{librow | faad2 | http://www.audiocoding.com/ }}
 +
{{librow | wavpack | http://www.wavpack.com }}
 +
{{libtableend}}
  
 
; Infrastructure
 
; Infrastructure
*{{lib| alsa-lib | https://www.alsa-project.org/wiki/Main_Page }}
+
{{libtablebegin}}
*{{lib| portaudio | http://www.portaudio.com/ }}
+
{{librow | alsa-lib | https://www.alsa-project.org/wiki/Main_Page }}
 +
{{librow | portaudio | http://www.portaudio.com/ }}
 +
{{libtableend}}
  
 
;Speech synthesis
 
;Speech synthesis
*{{lib| espeak | http://espeak.sourceforge.net/ }}
+
{{libtablebegin}}
*{{lib| flite | http://www.festvox.org/flite/ }}
+
{{librow | espeak | http://espeak.sourceforge.net/ }}
 +
{{librow | flite | http://www.festvox.org/flite/ }}
 +
{{libtableend}}
  
 
==Video==
 
==Video==
 
; Codecs
 
; Codecs
*{{lib| schroedinger | https://slackbuilds.org/repository/14.1/multimedia/schroedinger/ }}
+
{{libtablebegin}}
*{{lib| video4linux | https://linuxtv.org/downloads/v4l-utils/ }}
+
{{librow | schroedinger | https://slackbuilds.org/repository/14.1/multimedia/schroedinger/ }}
 +
{{librow | video4linux | https://linuxtv.org/downloads/v4l-utils/ }}
 +
{{libtableend}}
  
 
==Files==
 
==Files==
*{{lib| gmime | http://spruce.sourceforge.net/gmime/ }}
+
{{libtablebegin}}
 +
{{librow | gmime | http://spruce.sourceforge.net/gmime/ }}
 +
{{libtableend}}
  
 
==Maths==
 
==Maths==
*{{lib| gsl | https://www.gnu.org/software/gsl/ }}
+
{{libtablebegin}}
 +
{{librow | gsl | https://www.gnu.org/software/gsl/ | The GNU Scientific Library (GSL) is a numerical library for C and C++ ([https://ftp.gnu.org/gnu/gsl/ Src]) | GPL | make }}
 +
{{libtableend}}
  
 
; Integer Multi-Dimensional Interpolation
 
; Integer Multi-Dimensional Interpolation
*{{lib| argyll | http://www.argyllcms.com/ }}
+
{{libtablebegin}}
 +
{{librow | argyll | http://www.argyllcms.com/ }}
 +
{{libtableend}}
  
 
; Linear algebra
 
; Linear algebra
*{{lib| atlas | http://math-atlas.sourceforge.net/ }}
+
{{libtablebegin}}
*{{lib| blas  | https://www.netlib.org/blas/ }}
+
{{librow | atlas | http://math-atlas.sourceforge.net/ }}
*{{lib| eigen | http://eigen.tuxfamily.org/index.php }}
+
{{librow | blas  | https://www.netlib.org/blas/ }}
 +
{{librow | eigen | http://eigen.tuxfamily.org/index.php }}
 +
{{libtableend}}
  
 
; Finance
 
; Finance
*{{lib| ta-lib | https://sourceforge.net/projects/ta-lib/ }}
+
{{libtablebegin}}
 +
{{librow | ta-lib | https://sourceforge.net/projects/ta-lib/ }}
 +
{{libtableend}}
  
 
; FFT
 
; FFT
*{{lib| fftw3 | http://fftw.org }}
+
{{libtablebegin}}
 +
{{librow | fftw3 | http://fftw.org }}
 +
{{libtableend}}
  
 
; Multiprecision
 
; Multiprecision
*{{lib| gmp | https://gmplib.org/ }}
+
{{libtablebegin}}
 +
{{librow | gmp | https://gmplib.org/ }}
 +
{{libtableend}}
  
 
; Signal Processing
 
; Signal Processing
*{{lib| liquid-dsp | https://liquidsdr.org/ }}
+
{{libtablebegin}}
*{{lib| vsipl | https://www.omg.org/spec/VSIPL }}
+
{{librow | liquid-dsp | https://liquidsdr.org/ }}
*{{lib| vsipl++ | https://www.omg.org/spec/VSIPL++ }}
+
{{librow | vsipl | https://www.omg.org/spec/VSIPL }}
 +
{{librow | vsipl++ | https://www.omg.org/spec/VSIPL++ }}
 +
{{libtableend}}
  
 
==Graphics==
 
==Graphics==
*{{lib| allegro 5 (Multimedia Library) | https://liballeg.org/index.html | a cross-platform library mainly aimed at video game and multimedia programming.}}
+
{{libtablebegin}}
*{{lib| babl | http://gegl.org/babl/ }}
+
{{librow | allegro | https://liballeg.org/index.html | Allegro-5 is a cross-platform multimedia library mainly aimed at video game and multimedia programming. }}
*{{lib| cairo | https://www.cairographics.org/ }}
+
{{librow | babl | http://gegl.org/babl/ }}
*{{lib| SAIL (Squirrel Abstract Image Library) | https://github.com/smoked-herring/sail | small, fast, and cross-platform image decoding library.}}
+
{{librow | Bgfx | https://github.com/bkaradzic/bgfx | A cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library. | BSD 2 }}
*{{lib| SDL (Simple DirectMedia Layer) | https://libsdl.org/ | a library for input, audio, drawing and much more supported by many platforms.}}
+
{{librow | cairo | https://www.cairographics.org/ }}
*{{lib| SIGIL (Sound, Input, and Graphics Integration Library) | http://www.libsigil.com | extremely easy-to-use, cross-platform library for 2D graphics, input, and audio (needs a display, speaker and OpenGL >= 2.0).}}
+
{{librow | raylib | https://www.raylib.com/ | A cross-platform C99 gamedev library featuring OpenGL hardware acceleration, full 3D support, skeletal animation, shaders, fonts, audio, math, GUI, etc. ([https://github.com/raysan5/raylib Src]) ([https://github.com/raysan5/raylib/wiki/ Doc]) | Zlib | cmake, make, vcpkg, zig }}
 +
{{librow | SAIL | https://sail.software | '''S'''quirrel '''A'''bstract '''I'''mage '''L'''ibrary is a small, fast, and cross-platform image decoding library. }}
 +
{{librow | SDL | https://libsdl.org/ | '''S'''imple '''D'''irectMedia '''L'''ayer is a cross-platform library for input, audio, drawing and much more. }}
 +
{{librow | SIGIL | http://www.libsigil.com | '''S'''ound, '''I'''nput, and '''G'''raphics '''I'''ntegration '''L'''ibrary is an extremely easy-to-use, cross-platform library for 2D graphics, input, and audio (needs a display, speaker and OpenGL >= 2.0). }}
 +
{{librow | Simple2d | https://github.com/simple2d/simple2d | A small, simple, cross-platform SDL2/OpenGL wrapper that provides drawing, media, windowing, and input capabilities. | MIT }}
 +
{{libtableend}}
 +
 
 +
==Generic==
 +
{{libtablebegin}}
 +
{{librow | libmixf | https://www.roberto-mameli.it/software/#libmixf }}
 +
{{libtableend}}
  
 
==Interprocess==
 
==Interprocess==
*{{lib| dbus | https://www.freedesktop.org/wiki/Software/dbus/ }}
+
{{libtablebegin}}
*{{lib| dee | https://launchpad.net/dee/ }}
+
{{librow | dbus | https://www.freedesktop.org/wiki/Software/dbus/ }}
*{{lib| gdbus | https://www.freedesktop.org/wiki/Software/DBusBindings/ }}
+
{{librow | dee | https://launchpad.net/dee/ }}
 +
{{librow | gdbus | https://www.freedesktop.org/wiki/Software/DBusBindings/ }}
 +
{{libtableend}}
  
 
==Databases==
 
==Databases==
*{{lib| berkeley db | https://www.oracle.com/database/technologies/related/berkeleydb.html }}
+
{{libtablebegin}}
*{{lib| lmdb | https://symas.com/lmdb/technical/ }}
+
{{librow | berkeley_db | https://www.oracle.com/database/technologies/related/berkeleydb.html }}
*{{lib| SQLite | https://sqlite.org/index.html }}
+
{{librow | libfmrt | https://www.roberto-mameli.it/software/#libfmrt }}
 +
{{librow | libmongoc | https://github.com/mongodb/mongo-c-driver | Official C driver library for MongoDB ([https://www.mongodb.com/docs/drivers/c Doc]). It offers optimized APIs for CRUD operations, comprehensive feature support (including {{enwiki|BSON}}) and support for different authentication mechanisms enabling efficient integration of MongoDB functionality into C-based applications. | Apache 2.0 | CMake }}
 +
{{librow | lmdb | https://symas.com/lmdb/technical/ }}
 +
{{librow | SQLite | https://sqlite.org/index.html | A C library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine. SQLite is the most used database engine in the world. ([https://sqlite.org/src Src]) ([https://sqlite.org/docs.html Doc]) | [https://sqlite.org/copyright.html Public Domain] | }}
 +
{{libtableend}}
  
 
==Configuration==
 
==Configuration==
*{{lib| libconfig  | https://hyperrealm.github.io/libconfig }}
+
{{libtablebegin}}
*{{lib| libconfini | https://madmurphy.github.io/libconfini/html/index.html }}
+
{{librow | libconfig  | https://hyperrealm.github.io/libconfig }}
 +
{{librow | libconfini | https://madmurphy.github.io/libconfini/html/index.html }}
 +
{{libtableend}}
  
 
==Environment==
 
==Environment==
*{{lib| libXDGdirs | https://github.com/Jorengarenar/libXDGdirs }}
+
{{libtablebegin}}
 +
{{librow | libXDGdirs | https://github.com/Jorengarenar/libXDGdirs }}
 +
{{libtableend}}
  
 
==Communications==
 
==Communications==
*{{lib| gsoap | https://www.genivia.com/dev.html }}
+
{{libtablebegin}}
*{{lib| KCP | https://github.com/skywind3000/kcp/blob/master/README.en.md | A fast and reliable ARQ protocol that helps applications to reduce network latency. (MIT License)}}
+
{{librow | gsoap | https://www.genivia.com/dev.html }}
*{{lib| libcurl | https://curl.haxx.se/libcurl/ }}
+
{{librow | KCP | https://github.com/skywind3000/kcp/blob/master/README.en.md | A fast and reliable ARQ protocol that helps applications to reduce network latency. | MIT }}
*{{lib| libmicrohttpd | https://www.gnu.org/software/libmicrohttpd/ }}
+
{{librow | libcurl | https://curl.haxx.se/libcurl/ }}
*{{lib| libsagui | https://risoflora.github.io/libsagui/ }}
+
{{librow | libmicrohttpd | https://www.gnu.org/software/libmicrohttpd/ }}
*{{lib| MQTT-C | https://liambindle.ca/MQTT-C/ | [https://github.com/LiamBindle/MQTT-C Github URL] (MIT License)}}
+
{{librow | libsagui | https://risoflora.github.io/libsagui/ }}
*{{lib| nanomsg | https://nanomsg.org/ | A socket library that provides common communication patterns; has no dependencies; cross-platform. Superceded by the [https://github.com/nanomsg/nng nng]. (MIT/X11 license)}}
+
{{librow | MQTT-C | https://liambindle.ca/MQTT-C/ | [https://github.com/LiamBindle/MQTT-C Github URL] | MIT }}
*{{lib| UCX | https://github.com/openucx/ucx | Unified Communication X (UCX) provides an optimized communication layer for Message Passing (MPI), Shared Memory (PGAS) and RPC/data-centric applications. (BSD3 License)}}
+
{{librow | nanomsg | https://nanomsg.org/ | A socket library that provides common communication patterns; has no dependencies; cross-platform. Superceded by the [https://github.com/nanomsg/nng nng]. | MIT/X11 }}
*{{lib| zeromq | https://zeromq.org/ }}
+
{{librow | UCX | https://github.com/openucx/ucx | Unified Communication X (UCX) provides an optimized communication layer for Message Passing (MPI), Shared Memory (PGAS) and RPC/data-centric applications. | BSD3 }}
 +
{{librow | zeromq | https://zeromq.org/ }}
 +
{{librow | libusb | https://libusb.info/ | A portable C library that provides generic access to USB devices. }}
 +
{{libtableend}}
  
 
==Compression==
 
==Compression==
*{{lib| bzip2 | http://www.bzip.org/ }}  
+
{{libtablebegin}}
*{{lib| lz4 | https://github.com/lz4/lz4 }}  
+
{{librow | bzip2 | http://www.bzip.org/ }}  
*{{lib| zlib | http://zlib.net/ }}
+
{{librow | lz4 | https://github.com/lz4/lz4 }}  
 +
{{librow | zlib | http://zlib.net/ }}
 +
{{libtableend}}
  
 
==Concurrency==
 
==Concurrency==
*{{lib| ck | http://www.concurrencykit.org/ }}  
+
{{libtablebegin}}
*{{lib| MutexGear | https://github.com/oleh-derevenko/mutexgear | Mutex-only synchronization (wheel, rwlock, work queues). (The MutexGear Library License) }}  
+
{{librow | ck | http://www.concurrencykit.org/ }}  
 
+
{{librow | MutexGear | https://github.com/oleh-derevenko/mutexgear | Mutex-only synchronization (wheel, rwlock, work queues). | The MutexGear Library }}  
==libc==
+
{{libtableend}}
*{{lib| eglibc  | http://www.eglibc.org }}
+
  
 
==Data types==
 
==Data types==
*{{lib| bstrlib | http://bstring.sourceforge.net/ }}
+
{{libtablebegin}}
*{{lib| datastd | https://github.com/delphifeel/datastd }}
+
{{librow | bstrlib | http://bstring.sourceforge.net/ }}
*{{lib| str    | https://github.com/maxim2266/str | Yet another string library for C language. }}
+
{{librow | datastd | https://github.com/delphifeel/datastd }}
 +
{{librow | str    | https://github.com/maxim2266/str | Yet another string library for C language. }}
 +
{{libtableend}}
  
 
==XML==
 
==XML==
*{{lib| expat | http://expat.sourceforge.net }}
+
{{libtablebegin}}
*{{lib| gsoap | http://gsoap2.sourceforge.net }}
+
{{librow | expat | http://expat.sourceforge.net }}
 
+
{{librow | gsoap | http://gsoap2.sourceforge.net }}
==Javascript==
+
{{libtableend}}
*{{lib| gjs | http://live.gnome.org/Gjs }}
+
  
 
==Metrics==
 
==Metrics==
*{{lib| edlib | http://github.com/martinsos/edlib }}
+
{{libtablebegin}}
 +
{{librow | edlib | http://github.com/martinsos/edlib }}
 +
{{libtableend}}
  
 
==Object oriented programming==
 
==Object oriented programming==
*{{lib| Cello | http://libcello.org/ }}
+
{{libtablebegin}}
 +
{{librow | Cello | http://libcello.org/ }}
 +
{{librow | GObject | https://docs.gtk.org/gobject/ }}
 +
{{libtableend}}
  
 
==Web Frontend==
 
==Web Frontend==
*{{lib| cgit | http://git.zx2c4.com/cgit/about/ }}
+
{{libtablebegin}}
 +
{{librow | cgit | http://git.zx2c4.com/cgit/about/ }}
 +
{{libtableend}}
  
 
==Debug==
 
==Debug==
*{{lib| dbg-macro | https://github.com/eerimoq/dbg-macro | A few macros that prints and returns the value of a given expression for quick and dirty debugging, inspired by Rusts dbg!() macro and its C++ variant. (MIT License)}}
+
{{libtablebegin}}
 +
{{librow | dbg-macro | https://github.com/eerimoq/dbg-macro | A few macros that print and return the value of a given expression for quick and dirty debugging, inspired by Rust’s {{c/core|dbg!(...)}} macro and its C++ variant. | MIT }}
 +
{{libtableend}}
  
 
===See also===
 
===See also===
Line 161: Line 233:
 
{{dsc see cpp | cpp/links/libs | Non-ANSI/ISO Libraries | nomono=true}}
 
{{dsc see cpp | cpp/links/libs | Non-ANSI/ISO Libraries | nomono=true}}
 
{{dsc end}}
 
{{dsc end}}
 +
 +
===External links===
 +
{{elink begin}}
 +
{{elink|num=1|{{enwiki|List of unit testing frameworks#C|A list of C unit testing frameworks}} &mdash; at Wikipedia}}
 +
{{elink|num=2|[https://github.com/fffaraz/awesome-cpp A curated list of (awesome) C and C++ libraries] &mdash; at GitHub}}
 +
{{elink|num=3|1=[https://trilarion.github.io/opensourcegames/games/languages.html#c A list of C open-source games and frameworks] &mdash; at GitHub.io}}
 +
{{elink end}}
  
 
{{langlinks|ar|cs|de|es|fr|it|ja|ko|pl|pt|ru|tr|zh}}
 
{{langlinks|ar|cs|de|es|fr|it|ja|ko|pl|pt|ru|tr|zh}}

Latest revision as of 23:38, 10 February 2024

The objective of this page is to build a comprehensive list of open-source C libraries, so that when one needs an implementation of particular functionality, one needn’t to waste time searching on web (DuckDuckGo, Google, Bing, etc.)

If you know a library that might be useful to others, please add a link to it here. There are no restrictions on what can be included except that the source of the library must be readily available to download.

The page is provided “as is” - with the hope of being useful, but without any warranties. Outdated, misleading or wrong links might appear here. If you’ve noticed one of these, it would be great if you fixed the error.

Contents

[edit] Package managers

Package manager Description
build2 An open-source (MIT), cross-platform build toolchain that aims to approximate Rust Cargo’s convenience for developing and packaging C/C++ projects while providing more depth and flexibility, especially in the build system.
cget Cmake package retrieval. This can be used to download and install cmake packages.
cmodule Non-intrusive cmake dependency management.
conan Decentralized, open-source (MIT), C/C++ package manager.
CPM.cmake A cmake script that adds dependency management capabilities to cmake. It’s built as a thin wrapper around cmake’s FetchContent module that adds version control, caching, a simple API and more.
hunter A cmake driven cross-platform package manager for C/C++ projects.
spack A package manager for supercomputers, Linux, and macOS. It makes installing scientific software easy. It isn’t tied to a particular language.
teaport A cocoapods inspired dependency manager.
vcpkg A C/C++ package manager for Windows, Linux, and macOS.
xmake A cross-platform Lua-based C/C++ build tool and package manager.

[edit] Libraries

[edit] Operating system

Access control
Library Description License Configuration
acl
apparmor
Extended attributes
Library Description License Configuration
attr

[edit] Graphical user interface

Library Description License Configuration
IUP
Nuklear A single-header ANSI C immediate mode cross-platform GUI library. (Doc)
lvgl Powerful and easy-to-use embedded GUI library with many widgets, advanced visual effects (opacity, anti-aliasing, animations) and low memory requirements (16K RAM, 64K Flash). (Doc)
tiny file dialogs A single C cross-platform file (no init, no main loop, 6 modal function calls)

[edit] Gtk+ widgets

Library Description License Configuration
appmenu-gtk
ghex
goocanvas
gtkhotkey
gtk+
gtksourceview
gtkspell
gucharmap
webkitgtk

[edit] Microsoft Excel

Library Description License Configuration
libxlsxwriter
xlsx_drone

[edit] Audio

CD
Library Description License Configuration
cdparanoia
Codecs
Library Description License Configuration
aften
faad2
wavpack
Infrastructure
Library Description License Configuration
alsa-lib
portaudio
Speech synthesis
Library Description License Configuration
espeak
flite

[edit] Video

Codecs
Library Description License Configuration
schroedinger
video4linux

[edit] Files

Library Description License Configuration
gmime

[edit] Maths

Library Description License Configuration
gsl The GNU Scientific Library (GSL) is a numerical library for C and C++ (Src) GPL make
Integer Multi-Dimensional Interpolation
Library Description License Configuration
argyll
Linear algebra
Library Description License Configuration
atlas
blas
eigen
Finance
Library Description License Configuration
ta-lib
FFT
Library Description License Configuration
fftw3
Multiprecision
Library Description License Configuration
gmp
Signal Processing
Library Description License Configuration
liquid-dsp
vsipl
vsipl++

[edit] Graphics

Library Description License Configuration
allegro Allegro-5 is a cross-platform multimedia library mainly aimed at video game and multimedia programming.
babl
Bgfx A cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library. BSD 2
cairo
raylib A cross-platform C99 gamedev library featuring OpenGL hardware acceleration, full 3D support, skeletal animation, shaders, fonts, audio, math, GUI, etc. (Src) (Doc) Zlib cmake, make, vcpkg, zig
SAIL Squirrel Abstract Image Library is a small, fast, and cross-platform image decoding library.
SDL Simple DirectMedia Layer is a cross-platform library for input, audio, drawing and much more.
SIGIL
Simple2d A small, simple, cross-platform SDL2/OpenGL wrapper that provides drawing, media, windowing, and input capabilities. MIT

[edit] Generic

Library Description License Configuration
libmixf

[edit] Interprocess

Library Description License Configuration
dbus
dee
gdbus

[edit] Databases

Library Description License Configuration
berkeley_db
libfmrt
libmongoc Official C driver library for MongoDB (Doc). It offers optimized APIs for CRUD operations, comprehensive feature support (including BSON) and support for different authentication mechanisms enabling efficient integration of MongoDB functionality into C-based applications. Apache 2.0 CMake
lmdb
SQLite A C library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine. SQLite is the most used database engine in the world. (Src) (Doc) Public Domain

[edit] Configuration

Library Description License Configuration
libconfig
libconfini

[edit] Environment

Library Description License Configuration
libXDGdirs

[edit] Communications

Library Description License Configuration
gsoap
KCP A fast and reliable ARQ protocol that helps applications to reduce network latency. MIT
libcurl
libmicrohttpd
libsagui
MQTT-C Github URL MIT
nanomsg A socket library that provides common communication patterns; has no dependencies; cross-platform. Superceded by the nng. MIT/X11
UCX Unified Communication X (UCX) provides an optimized communication layer for Message Passing (MPI), Shared Memory (PGAS) and RPC/data-centric applications. BSD3
zeromq
libusb A portable C library that provides generic access to USB devices.

[edit] Compression

Library Description License Configuration
bzip2
lz4
zlib

[edit] Concurrency

Library Description License Configuration
ck
MutexGear Mutex-only synchronization (wheel, rwlock, work queues). The MutexGear Library

[edit] Data types

Library Description License Configuration
bstrlib
datastd
str Yet another string library for C language.

[edit] XML

Library Description License Configuration
expat
gsoap

[edit] Metrics

Library Description License Configuration
edlib

[edit] Object oriented programming

Library Description License Configuration
Cello
GObject

[edit] Web Frontend

Library Description License Configuration
cgit

[edit] Debug

Library Description License Configuration
dbg-macro A few macros that print and return the value of a given expression for quick and dirty debugging, inspired by Rust’s dbg!(...) macro and its C++ variant. MIT

[edit] See also

C++ documentation for Non-ANSI/ISO Libraries

[edit] External links

1.  A list of C unit testing frameworks — at Wikipedia
2.  A curated list of (awesome) C and C++ libraries — at GitHub
3.  A list of C open-source games and frameworks — at GitHub.io