Useful C/C++ Libraries
cpp-httplib https://github.com/yhirose/cpp-httplib (License: MIT)
Single header file C++ HTTP/HTTPS client and server.
Single header file C++ HTTP/HTTPS client and server.
Eigen http://eigen.tuxfamily.org/index.php?title=Main_Page (License: MPL2)
Linear algebra library; header only, C++, templates. Really a pain to debug, because every type-mismatch is hundreds of lines of template failures.
Linear algebra library; header only, C++, templates. Really a pain to debug, because every type-mismatch is hundreds of lines of template failures.
fmt https://github.com/fmtlib/fmt (License: MIT)
Improvement over C++ streams. Faster to compile than std::ostream, very much faster to run than either ostream or sprintf, supports positional arguments (essential for internationalization, and impossible with ostream). More work to integrate custom output, though.
Improvement over C++ streams. Faster to compile than std::ostream, very much faster to run than either ostream or sprintf, supports positional arguments (essential for internationalization, and impossible with ostream). More work to integrate custom output, though.
nano-vg https://github.com/memononen/nanovg (License: zlib license [similar to MIT])
Vector graphics with OpenGL. Said to be somewhat slow, but is a lot simpler to use than Skia. Not maintained, but still widely used.
Vector graphics with OpenGL. Said to be somewhat slow, but is a lot simpler to use than Skia. Not maintained, but still widely used.
Open Scene Graph http://www.openscenegraph.org/ (License: Custom (LGPL with explicit approval for use with proprietary applications))
Appears to provide scene-graph and rendering functionality. Tutorials and guides on the web site are very limited.
Appears to provide scene-graph and rendering functionality. Tutorials and guides on the web site are very limited.
pugixml https://pugixml.org (License: MIT)
Fastest XML parser by a fairly wide margin, according to their benchmarks.
Fastest XML parser by a fairly wide margin, according to their benchmarks.
RapidJSON https://github.com/Tencent/rapidjson (License: MIT)
Fastest C++ JSON library, and is fairly easy to use. Header-only, but not single file. Additional documentation at https://rapidjson.org.
Fastest C++ JSON library, and is fairly easy to use. Header-only, but not single file. Additional documentation at https://rapidjson.org.
stb https://github.com/nothings/stb (License: Public Domain or MIT)
Single-file, header only, C libraries for:
Single-file, header only, C libraries for:
- stb_image.h (reads JPG, PNG, TGA, BMP, PSD, GIF, HDR, PIC)
- stb_image_write.h (writes PNG, TGA, BMP)
- stb_truetype.h (parse, decode, and rasterize from TrueType font. It is much smaller than FreeType, but performs no hinting and is three times slower at rasterization according to one review)
- stb_vorbis.h (decode ogg/vorbis files to 16-bit output)