Browse free open source C++ Libraries and projects below. Use the toggles on the left to filter open source C++ Libraries by OS, license, language, programming language, and project status.

  • 99.99% Uptime for MySQL and PostgreSQL Databases Icon
    99.99% Uptime for MySQL and PostgreSQL Databases

    Sub-second maintenance. 2x read/write performance. Built-in vector search for AI apps.

    Cloud SQL Enterprise Plus delivers near-zero downtime with 35 days of point-in-time recovery. Supports MySQL, PostgreSQL, and SQL Server.
    Start Free
  • MongoDB Atlas runs apps anywhere Icon
    MongoDB Atlas runs apps anywhere

    Deploy in 115+ regions with the modern database for every enterprise.

    MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
    Start Free
  • 1
    GTK+2 for Windows Runtime Environment

    GTK+2 for Windows Runtime Environment

    The files required to run GTK+ applications on Windows

    This is the GTK+2 Runtime Environment Installer for Windows. It includes all of the files required to run GTK+2 applications on Windows. Some support tools are also available. This project is no longer maintained. Please use its successor: https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer
    Leader badge
    Downloads: 4,595 This Week
    Last Update:
    See Project
  • 2

    Win flex-bison

    Win flex-bison is a port Flex & Bison tools to the Windows platform

    Win flex-bison is a windows port the Flex (the fast lexical analyser) and Bison (GNU parser generator). win_flex based on Flex version 2.6.3 source code and win_bison based on Bison version 2.7 and they depend on system libraries only. Git repository: https://github.com/lexxmark/winflexbison UPDATE1: Bison version 3.x.x available in Files section in win_flex_bison3-latest.zip package. UPDATE2: Now "winflexbison" available as package in Chocolatey (https://chocolatey.org/packages/winflexbison and https://chocolatey.org/packages/winflexbison3) UPDATE3: You can use VS custom build rules to simplify working with winflexbison in Visual Studio 2010 and upper (https://sourceforge.net/p/winflexbison/wiki/Visual%20Studio%20custom%20build%20rules/).
    Leader badge
    Downloads: 4,701 This Week
    Last Update:
    See Project
  • 3
    The OpenGL Extension Wrangler Library
    The OpenGL Extension Wrangler Library is a simple tool that helps C/C++ developers initialize extensions and write portable applications. GLEW currently supports a variety of operating systems, including Windows, Linux, Darwin, Irix, and Solaris.
    Leader badge
    Downloads: 2,334 This Week
    Last Update:
    See Project
  • 4
    Octave Forge

    Octave Forge

    A collection of packages providing extra functionality for GNU Octave

    Octave Forge is a central location for collaborative development of packages for GNU Octave. The Octave Forge packages expand Octave's core functionality by providing field specific features via Octave's package system. See https://octave.sourceforge.io/packages.php for a list of all available packages. GNU Octave is a high-level interpreted language, primarily intended for numerical computations. It provides capabilities for the numerical solution of linear and nonlinear problems, and for performing other numerical experiments. It also provides extensive graphics capabilities for data visualization and manipulation. Octave is normally used through its interactive command line interface, but it can also be used to write non-interactive programs. The Octave language is quite similar to Matlab so that most programs are easily portable. Refer to https://www.octave.org for more information.
    Leader badge
    Downloads: 1,678 This Week
    Last Update:
    See Project
  • Go from Code to Production URL in Seconds Icon
    Go from Code to Production URL in Seconds

    Cloud Run deploys apps in any language instantly. Scales to zero. Pay only when code runs.

    Skip the Kubernetes configs. Cloud Run handles HTTPS, scaling, and infrastructure automatically. Two million requests free per month.
    Start Free
  • 5

    half

    C++ library for half precision floating point arithmetics.

    This is a C++ header-only library to provide an IEEE-754 conformant half-precision floating point type along with corresponding arithmetic operators, type conversions and common mathematical functions. It aims for both efficiency and ease of use, trying to accurately mimic the behaviour of the builtin floating point types at the best performance possible. It automatically uses and provides C++11 features when possible, but stays completely C++98-compatible when neccessary.
    Leader badge
    Downloads: 5,478 This Week
    Last Update:
    See Project
  • 6

    ESP8266 Arduino Core

    ESP8266 core for Arduino

    ESP8266 Arduino Core is the Arduino core for the ESP8266 WiFi chip. It brings support for the ESP8266 chip to the Arduino environment, allowing you to write sketches, use familiar Arduino functions and libraries, and run these directly on ESP8266 without the need for an external microcontroller. ESP8266 Arduino core comes with libraries that enable it to perform a number of things. It can communicate over WiFi through the use of TCP and UDP; it can set up HTTP, mDNS, SSDP, and DNS servers; and it can perform OTA updates. ESP8266 Arduino core works with SD cards, servos, SPI and I2C peripherals.
    Downloads: 64 This Week
    Last Update:
    See Project
  • 7
    Intel RealSense

    Intel RealSense

    Intel® RealSense SDK

    Intel® RealSense™ SDK 2.0 is a cross-platform library for Intel® RealSense™ depth cameras. The SDK allows depth and color streaming and provides intrinsic and extrinsic calibration information. The library also offers synthetic streams (point cloud, depth aligned to color and vise-versa), and built-in support for recording and playback of streaming sessions. Intel has EOLed the LiDAR, Facial Authentication, and Tracking product lines. These products have been discontinued and will no longer be available for new orders. Intel WILL continue to sell and support stereo products including the following: D410, D415, D430, , D401 ,D450 modules and D415, D435, D435i, D435f, D405, D455, D457 depth cameras. We will also continue the work to support and develop our LibRealSense open source SDK.
    Downloads: 56 This Week
    Last Update:
    See Project
  • 8
    Mikmod Sound System
    Mikmod is a module player and library supporting many formats, including mod, s3m, it, and xm. Originally a player for MS-DOS, MikMod has been ported to other platforms, such as Unix, Macintosh, BeOS, and Java(!!)
    Leader badge
    Downloads: 748 This Week
    Last Update:
    See Project
  • 9
    Munt
    A multi-platform software synthesiser emulating (somewhat inaccurately) pre-GM MIDI devices such as the Roland MT-32, CM-32L, CM-64 and LAPC-I. In no way endorsed by or affiliated with Roland Corp. Source hosted at: http://www.github.com/munt/
    Leader badge
    Downloads: 269 This Week
    Last Update:
    See Project
  • Build Agents and Models on One Platform Icon
    Build Agents and Models on One Platform

    Everything you need to build production-ready agents and models. Access 200+ Google and third-party AI models and tools.

    Gemini Enterprise Agent Platform is Google Cloud's comprehensive platform for developers to build, scale, govern, and optimize agents and models. Choose from Google's most advanced models and third-party models like Anthropic's Claude Model Family.
    Start Free
  • 10
    Vcpkg

    Vcpkg

    C++ Library Manager for Windows, Linux, and MacOS

    Vcpkg helps you manage C and C++ libraries on Windows, Linux and MacOS. This tool and ecosystem are constantly evolving, and we always appreciate contributions! After you've gotten vcpkg installed and working, you may wish to add tab completion to your shell. With CMake, you will still need to find_package and the like to use the libraries. Check out the CMake section for more information, including on using CMake with an IDE. In classic mode, vcpkg produces an "installed" tree, whose contents are changed by explicit calls to vcpkg install or vcpkg remove. The installed tree is intended for consumption by any number of projects: for example, installing a bunch of libraries and then using those libraries from Visual Studio, without additional configuration. Because the installed tree is not associated with an individual project, it's similar to tools like brew or apt, except that the installed tree is vcpkg-installation-local, rather than global to a system or user.
    Downloads: 39 This Week
    Last Update:
    See Project
  • 11
    OpenH264

    OpenH264

    Open Source H.264 Codec

    Cisco has taken their H.264 implementation and open-sourced it under BSD license terms. Development and maintenance will be overseen by a board from the industry and the open-source community. Furthermore, we have provided a binary form suitable for inclusion in applications across a number of different operating systems and made this binary module available for download from the Internet. We will not pass on our MPEG-LA licensing costs for this module, and based on the current licensing environment, this will effectively make H.264 free for use on supported platforms. OpenH264 is a codec library which supports H.264 encoding and decoding. It is suitable for use in real-time applications such as WebRTC. Constrained Baseline Profile up to Level 5.2 (Max frame size is 36864 macro-blocks). Arbitrary resolution, not constrained to multiples of 16x16. Rate control with adaptive quantization, or constant quantization.
    Downloads: 37 This Week
    Last Update:
    See Project
  • 12
    SFML

    SFML

    Simple and Fast Multimedia Library

    SFML provides a simple interface to the various components of your PC, to ease the development of games and multimedia applications. It is composed of five modules: system, window, graphics, audio and network. Discover their features more in detail in the tutorials and the API documentation. With SFML, your application can compile and run out of the box on the most common operating systems: Windows, Linux, macOS and soon Android & iOS. Pre-compiled SDKs for your favorite OS are available on the download page. SFML has official bindings for the C and .Net languages. And thanks to its active community, it is also available in many other languages such as Java, Ruby, Python, Go, and more.
    Downloads: 37 This Week
    Last Update:
    See Project
  • 13
    projectM

    projectM

    Cross-platform Music Visualization Library

    Cross-platform Music Visualization Library. Open-source and Milkdrop-compatible. Experience psychedelic and mesmerizing visuals by transforming music into equations that render a limitless array of user-contributed visualizations. projectM is an open-source project that reimplements the esteemed Winamp Milkdrop by Geiss in a more modern, cross-platform reusable library. Its purpose in life is to read an audio input and to produce mesmerizing visuals, detecting tempo, and rendering advanced equations into a limitless array of user-contributed visualizations.
    Downloads: 37 This Week
    Last Update:
    See Project
  • 14
    Folly

    Folly

    An open-source C++ library developed and used at Facebook

    Folly (acronymed loosely after Facebook Open Source Library) is a library of C++14 components designed with practicality and efficiency in mind. Folly contains a variety of core library components used extensively at Facebook. In particular, it's often a dependency of Facebook's other open source C++ efforts and place where those projects can share code. It complements (as opposed to competing against) offerings such as Boost and of course std. In fact, we embark on defining our own component only when something we need is either not available, or does not meet the needed performance profile. We endeavor to remove things from folly if or when std or Boost obsoletes them. Performance concerns permeate much of Folly, sometimes leading to designs that are more idiosyncratic than they would otherwise be (see e.g. PackedSyncPtr.h, SmallLocks.h). Good performance at large scale is a unifying theme in all of Folly.
    Downloads: 32 This Week
    Last Update:
    See Project
  • 15
    Khronos KTX

    Khronos KTX

    KTX (Khronos Texture) Library and Tools

    KTX-Software is a suite of tools and libraries for working with Khronos Texture (KTX) files, designed and maintained by the Khronos Group. KTX is a container format for storing textures that are optimized for GPU upload, supporting modern formats like Basis Universal and ASTC. This repository includes tools for creating, validating, inspecting, and converting KTX and KTX2 files, making it essential for developers working in 3D engines, games, and visualization tools where texture streaming and compression are key.
    Downloads: 32 This Week
    Last Update:
    See Project
  • 16
    OpenPose

    OpenPose

    Real-time multi-person keypoint detection library for body, face, etc.

    OpenPose has represented the first real-time multi-person system to jointly detect human body, hand, facial, and foot keypoints (in total 135 keypoints) on single images. It is authored by Ginés Hidalgo, Zhe Cao, Tomas Simon, Shih-En Wei, Yaadhav Raaj, Hanbyul Joo, and Yaser Sheikh. It is maintained by Ginés Hidalgo and Yaadhav Raaj. OpenPose would not be possible without the CMU Panoptic Studio dataset. We would also like to thank all the people who has helped OpenPose in any way. 15, 18 or 25-keypoint body/foot keypoint estimation, including 6 foot keypoints. Runtime invariant to number of detected people. 2x21-keypoint hand keypoint estimation. Runtime depends on number of detected people. 70-keypoint face keypoint estimation. Runtime depends on number of detected people. Input: Image, video, webcam, Flir/Point Grey, IP camera, and support to add your own custom input source (e.g., depth camera).
    Downloads: 31 This Week
    Last Update:
    See Project
  • 17
    Arduino libraries

    Arduino libraries

    Arduino libraries and code

    This repository contains several Arduino libraries I have written to be used in applications. Most of them include example code on how the libraries can be used. Furthermore, this repository contains a few stand-alone applications. For bugs in the libraries, please fill in an issue in Github as that makes it far easier to track them. If possible provide a minimal code snippet that exposes the bug. Add information about the platform used and version etc. Also, proposals for solutions are welcome. For improvements and changes, please provide a pull request. I will try to follow up on them asap but it can take quite some time. Please try to be generic in your improvements and try to see "over the needs of your own application".
    Downloads: 30 This Week
    Last Update:
    See Project
  • 18
    IRremote Arduino Library

    IRremote Arduino Library

    Infrared remote library for Arduino, send and receive infrared signals

    This library enables you to send and receive using infra-red signals on an Arduino. You can use any pin for sending now like you are used to receiving. Simultaneous sending and receiving. See the SendAndReceive example. No more need to use 32-bit hex values in your code. Instead, a (8 bit) command value is provided for decoding (as well as a 16-bit address and a protocol number). Protocol values comply to protocol standards, i.e. NEC, Panasonic, Sony, Samsung, and JVC decode and send LSB first. Supports more protocols, since adding a protocol is quite easy now. Better documentation and more examples. Compatible with tone() library, see ReceiveDemo. Supports more platforms, since the new structure allows to easily add a new platform. Feedback LED also for sending. Ability to generate a non-PWM signal to just simulate an active low receiver signal for direct connection to existent receiving devices without using IR.
    Downloads: 27 This Week
    Last Update:
    See Project
  • 19
    rtabmap

    rtabmap

    RTAB-Map library and standalone application

    RTAB-Map (Real-Time Appearance-Based Mapping) is a RGB-D, Stereo and Lidar Graph-Based SLAM approach based on an incremental appearance-based loop closure detector. The loop closure detector uses a bag-of-words approach to determine how likely a new image comes from a previous location or a new location. When a loop closure hypothesis is accepted, a new constraint is added to the map’s graph, then a graph optimizer minimizes the errors in the map. A memory management approach is used to limit the number of locations used for loop closure detection and graph optimization so that real-time constraints on large-scale environments are always respected. RTAB-Map can be used alone with a handheld Kinect, a stereo camera or a 3D lidar for 6DoF mapping, or on a robot equipped with a laser rangefinder for 3DoF mapping.
    Downloads: 27 This Week
    Last Update:
    See Project
  • 20
    [OFFICIAL] tinyfiledialogs C C++ v3.21.5

    [OFFICIAL] tinyfiledialogs C C++ v3.21.5

    inputbox password WIN OSX GTK QT Console VCPKG C# Lua R Fortran Pascal

    one C/C++ file & header ==> 8 functions: - beep - tray notify popup - message & question - input & password - save file - open file(s) - select folder - color picker complements OpenGL Vulkan GLFW GLUT GLUI VTK SFML TGUI SDL Ogre Unity3d ION OpenCV CeGui MathGL GLM CPW GLOW Open3D ImGui MyGui GLT NGL STB Nuklear Fenster MicroUi & head-less programs NO INIT NO MAIN LOOP NO LINKING NO INCLUDE win (XP to 11) ASCII MBCS UTF-8 UTF-16 (wchar_t) - native dialogs osx/unix ASCII UTF-8 - applescript kdialog zenity shanty … ° SSH console / X forwarding / waypipe Wayland ° the dialogs can be forced into console mode ° curses dialogs via Dialog.exe/Dialog (disabled by default) C89/C23 & C++98/C++23 compliant VisualStudio MinGW GCC Clang TinyCC IntelCC OWCC BCC SunCC on Windows Mac Linux Bsd Solaris Minix Raspbian Flatpak Haiku bindings: VCPKG C# R Lua Rust Haskell Java AllegroBasic Fortran Pascal D JavaScript Kotlin click tab 'Files' for prototypes
    Leader badge
    Downloads: 130 This Week
    Last Update:
    See Project
  • 21
    libmwaw

    libmwaw

    Import library for legacy Mac documents

    libmwaw contains import filters for many old Macintosh text document formats (MacWrite, ClarisWorks, ... ) and for some graphic, spreadsheet and presentation formats. It can handle with varying level of success about forty different formats (see the Wiki section for more details). libmwaw is based on librevenge (see https://sourceforge.net/p/libwpd/wiki/librevenge/ ).
    Leader badge
    Downloads: 663 This Week
    Last Update:
    See Project
  • 22
    Perfetto

    Perfetto

    Production-grade client-side tracing, profiling, and analysis

    Perfetto is a production-grade tracing platform for Android, Linux, and Chrome that captures extremely detailed information about what a system is doing over time. It’s designed around a low-overhead producer/consumer model: instrumented components (“producers”) write binary events into shared memory buffers and a collector (“service”) reliably streams them to storage. The data model spans kernel and userspace, so you can stitch together CPU scheduling, app lifecycles, binder/IPC hops, GPU work, power and thermal signals, file I/O, heap samples, and more into a single coherent timeline. Perfetto’s ecosystem includes a web-based UI that can load multi-GB traces directly in the browser and an offline “trace processor” that exposes the trace as a queryable SQL-like table schema for deep analysis and automation. It integrates natively with Android (replacing older atrace/Systrace paths) and can sit alongside custom instrumentation in apps or services through its SDKs.
    Downloads: 22 This Week
    Last Update:
    See Project
  • 23
    libphonenumber

    libphonenumber

    Library for parsing and validating international phone numbers

    Google's common Java, C++ and JavaScript library for parsing, formatting, and validating international phone numbers. The Java version is optimized for running on smartphones, and is used by the Android framework since 4.0 (Ice Cream Sandwich). libphonenumber gets the type of the number based on the number itself; able to distinguish Fixed-line, Mobile, Toll-free, Premium Rate, Shared Cost, VoIP, Personal Numbers, UAN, Pager, and Voicemail (whenever feasible). Provides valid example numbers for all countries/regions, with the option of specifying which type of example phone number is needed. Quickly guesses whether a number is a possible phone number by using only the length information, much faster than a full validation. To include the Java code in your application, either integrate with Maven (see wiki) or download the latest jars from the Maven repository.
    Downloads: 21 This Week
    Last Update:
    See Project
  • 24
    ArduinoJson

    ArduinoJson

    JSON library for Arduino and embedded C++. Simple and efficient

    ArduinoJson is a C++ JSON library for Arduino and IoT (Internet Of Things). ArduinoJson has a simple and intuitive syntax to handle objects and arrays. ArduinoJson supports both JSON serialization and deserialization. ArduinoJson uses a fixed memory allocation, allowing to work on devices with very little RAM. ArduinoJson can filter large inputs to keep only fields that are relevant to your application, thereby saving a lot of memory. ArduinoJson can parse directly from an input Stream or std::istream. ArduinoJson can produce compact or prettified documents. ArduinoJson works directly with strings stored in program memory. ArduinoJson supports two coding styles, with implicit or explicit casts. ArduinoJson deduplicates strings in the JSON document. When you have several identical keys or values, the JsonDocument only stores one of each. In practice, this feature reduces memory consumption by 20-30%.
    Downloads: 20 This Week
    Last Update:
    See Project
  • 25
    This project consists of a linux kernel driver and some user-mode libraries. They allow a process to create a virtual usb host controller. Real or virtual usb devices can be "plugged" into this controller.
    Leader badge
    Downloads: 533 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • 3
  • 4
  • 5
  • Next