Single-file libraries with minimal dependencies

Generally, the following is a list of small, easy-to-integrate, portable libraries which are usable from C and/or C++, and should be able to be compiled on both 32-bit and 64-bit platforms. - nothings/single_file_libs

  • Amalgamate - A cross platform command line tool for producing an amalgamation of C or C++ sources.

  • archive - Simple, compact, endian-safe and header-only serialization/deserialization for C++

  • linalg - inspired by the syntax of popular shading and compute languages and is intended to serve as a lightweight alternative to projects such as GLM, Boost.QVM or Eigen in domains such as computer graphics, computational geometry, and physical simulation.

  • lz4 - LZ4 is lossless compression algorithm, providing compression speed > 500 MB/s per core.

  • Plog - Pretty powerful logging library in about 1000 lines of code. Cross-platform

  • MicroPather - a path finder and A* solver (astar or a-star) written in platform independent C++ that can be easily integrated into existing code. MicroPather focuses on being a path finding engine for video games but is a generic A* solver.

  • NanoJPEG - a compact JPEG decoder

  • Miniz - a lossless, high performance data compression library in a single source file that implements the zlib (RFC 1950) and Deflate (RFC 1951) compressed data format specification standards.

  • tree.h / HN - splay trees and red-black trees

  • Zdepth - Lossless depth buffer compression designed and tested for Microsoft Azure Kinect DK. Based on the Facebook Zstd library.

Written on September 19, 2020, Last update on September 27, 2023
c++ zip math single-header