A collection of single-file public domain libraries for C/C++ development, covering graphics, utilities, and system programming.
libs is a collection of single-file, public domain libraries for C and C++ that provide essential functionality for application and game development. It solves the problem of integrating lightweight, portable utilities without managing complex dependencies or licensing restrictions. The libraries cover areas like cross-platform app frameworks, asset management, math utilities, and system programming tools.
C and C++ developers, particularly those working on games, embedded systems, or cross-platform applications who value minimal dependencies and simple integration. It's also suitable for hobbyists and educators looking for permissively licensed building blocks.
Developers choose libs for its zero-dependency, single-file design that simplifies integration and distribution. Its public domain/MIT licensing offers maximum flexibility, and the curated set of utilities addresses common needs in game dev and system programming without the overhead of larger frameworks.
Single-file public domain libraries for C/C++
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Each library is a self-contained header file, making integration as simple as copying one file into your project, as demonstrated by app.h and hashtable.h.
Released into the public domain with an MIT option, allowing unrestricted use in any project without legal hurdles, as stated in the GitHub description.
Libraries like app.h and thread.h handle platform-specific details for graphical apps and threading, enabling easy porting across Windows, macOS, and Linux.
Includes utilities such as vecmath.h for vector math and assetsys.h for ZIP-based asset loading, tailored for common game development needs.
The README admits that work-in-progress libraries lack documentation, which can hinder adoption and troubleshooting for components like audiosys.h.
Key libraries have restrictions, such as http.h only supporting basic HTTP without HTTPS, limiting use in secure applications.
The author recommends using original multi-file versions if possible, as repackaged libraries like hoedown.h might not be updated with latest features or fixes.