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.

  • 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
  • Custom VMs From 1 to 96 vCPUs With 99.95% Uptime Icon
    Custom VMs From 1 to 96 vCPUs With 99.95% Uptime

    General-purpose, compute-optimized, or GPU/TPU-accelerated. Built to your exact specs.

    Live migration and automatic failover keep workloads online through maintenance. One free e2-micro VM every month.
    Start Free
  • 1
    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: 5,169 This Week
    Last Update:
    See Project
  • 2
    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: 4,516 This Week
    Last Update:
    See Project
  • 3

    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,733 This Week
    Last Update:
    See Project
  • 4

    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: 13,181 This Week
    Last Update:
    See Project
  • Build Data Resilience - Take the Assessment Today Icon
    Build Data Resilience - Take the Assessment Today

    Can you recover when it matters most? Take this quick assessment to identify gaps and build greater recovery confidence.

    Is your recovery strategy as strong as you think? Take this quick self-assessment to check your recovery readiness and gain tailored insights. In only 2 minutes, you'll learn where you fall on the recovery readiness scale.
    Take the Assessment
  • 5
    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: 1,042 This Week
    Last Update:
    See Project
  • 6
    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: 53 This Week
    Last Update:
    See Project
  • 7
    RedSun

    RedSun

    The Red Sun vulnerability repository

    RedSun is a proof-of-concept security project that demonstrates a critical privilege escalation vulnerability in Microsoft Defender by exploiting unintended file-handling behavior. The tool leverages how Defender processes files tagged with cloud metadata, where instead of removing malicious files, the antivirus may rewrite them to their original location. By carefully manipulating this process, the exploit enables attackers to overwrite protected system files and gain SYSTEM-level privileges from a low-privilege account. The repository provides a minimal C++ implementation that showcases this behavior for research and educational purposes. It highlights flaws in endpoint protection logic and emphasizes how race conditions and file system interactions can be abused. The project is not designed as a full framework but as a focused demonstration of a real-world vulnerability. It serves as a stark example of how defensive systems can be turned into attack vectors.
    Downloads: 50 This Week
    Last Update:
    See Project
  • 8
    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: 262 This Week
    Last Update:
    See Project
  • 9
    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: 43 This Week
    Last Update:
    See Project
  • $300 Free Credits to Build on Google Cloud Icon
    $300 Free Credits to Build on Google Cloud

    New customers can spin up VMs, build with AI, and query data at no cost.

    Put your $300 in credit toward real workloads, then keep building with free monthly usage for 20+ products. No commitment and no charge until you upgrade.
    Start Free
  • 10

    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: 41 This Week
    Last Update:
    See Project
  • 11
    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: 41 This Week
    Last Update:
    See Project
  • 12
    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: 35 This Week
    Last Update:
    See Project
  • 13
    subconverter

    subconverter

    Utility to convert between various subscription format

    Utility to convert between various subscription format. Shadowrocket users should use ss, ssr or v2ray as target. You can add &remark= to Telegram-liked HTTP/Socks 5 links to set a remark for this node. Add a Personal Access Token into gistconf.ini in the root directory, then add &upload=true to the local subscription link, then when you access this link, the program will automatically update the content to Gist repository.
    Downloads: 35 This Week
    Last Update:
    See Project
  • 14
    Open3D

    Open3D

    A modern library for 3D data processing

    Open3D is an open-source library that supports rapid development of software that deals with 3D data. The Open3D frontend exposes a set of carefully selected data structures and algorithms in both C++ and Python. The backend is highly optimized and is set up for parallelization. Open3D was developed from a clean slate with a small and carefully considered set of dependencies. It can be set up on different platforms and compiled from source with minimal effort. The code is clean, consistently styled, and maintained via a clear code review mechanism. Open3D has been used in a number of published research projects and is actively deployed in the cloud. We welcome contributions from the open-source community. GCC 5.X and later on Linux. XCode 10+ and later on OS X 10.14+. Visual Studio 2019 and later on Windows.
    Downloads: 30 This Week
    Last Update:
    See Project
  • 15
    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: 30 This Week
    Last Update:
    See Project
  • 16
    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: 415 This Week
    Last Update:
    See Project
  • 17
    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: 735 This Week
    Last Update:
    See Project
  • 18
    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: 27 This Week
    Last Update:
    See Project
  • 19
    Point Cloud Library

    Point Cloud Library

    A standalone, large scale, open project for 2D/3D image processing

    The Point Cloud Library (PCL) is a standalone, large scale, open project for 2D/3D image and point cloud processing. PCL is released under the terms of the BSD license, and thus free for commercial and research use. Whether you’ve just discovered PCL or you’re a long time veteran, this page contains links to a set of resources that will help consolidate your knowledge on PCL and 3D processing. An additional Wiki resource for developers is available too. To simplify both usage and development, we split PCL into a series of modular libraries. PCL is cross-platform, and has been successfully compiled and deployed on Linux, MacOS, Windows, and Android. To simplify development, PCL is split into a series of smaller code libraries, that can be compiled separately. This modularity is important for distributing PCL on platforms with reduced computational or size constraints.
    Downloads: 25 This Week
    Last Update:
    See Project
  • 20
    [OFFICIAL] tinyfiledialogs C C++ v3.21.3

    [OFFICIAL] tinyfiledialogs C C++ v3.21.3

    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: 121 This Week
    Last Update:
    See Project
  • 21
    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: 23 This Week
    Last Update:
    See Project
  • 22
    TensorRT

    TensorRT

    C++ library for high performance inference on NVIDIA GPUs

    NVIDIA® TensorRT™ is an SDK for high-performance deep learning inference. It includes a deep learning inference optimizer and runtime that delivers low latency and high throughput for deep learning inference applications. TensorRT-based applications perform up to 40X faster than CPU-only platforms during inference. With TensorRT, you can optimize neural network models trained in all major frameworks, calibrate for lower precision with high accuracy, and deploy to hyperscale data centers, embedded, or automotive product platforms. TensorRT is built on CUDA®, NVIDIA’s parallel programming model, and enables you to optimize inference leveraging libraries, development tools, and technologies in CUDA-X™ for artificial intelligence, autonomous machines, high-performance computing, and graphics. With new NVIDIA Ampere Architecture GPUs, TensorRT also leverages sparse tensor cores providing an additional performance boost.
    Downloads: 23 This Week
    Last Update:
    See Project
  • 23
    FastLED

    FastLED

    The FastLED library for colored LED animation on Arduino

    FastLED is a fast, efficient, easy-to-use Arduino library for programming addressable LED strips and pixels such as WS2810, WS2811, LPD8806, Neopixel and more. FastLED is used by thousands of developers, in countless art and hobby projects, and in numerous commercial products. We build FastLED to help you get started faster, develop your code faster, and make your code run faster. FastLED supports popular LEDs including Neopixel, WS2801, WS2811, WS2812B, LPD8806, TM1809, and more. The library runs on a wide range of Arduino and compatible boards, including both AVR- and ARM- based microcontrollers. In addition to fast, efficient, compatible LED driver code, FastLED also provides features that get your animations up and running fast.
    Downloads: 22 This Week
    Last Update:
    See Project
  • 24
    LevelDB

    LevelDB

    A fast key-value storage library

    LevelDB is a library of persistent key values. Written at Google, it contains keys and values that are arbitrary byte arrays, ordered within the key value store according to a user-specified comparator function. LevelDB is not an SQL database and does not support SQL queries or indexes. It simply provides an ordered mapping from string keys to string values. Data is stored already sorted by key, though callers can override the sort order through a custom comparison function. It supports forward and backward iteration as well as transient snapshots, and automatically compresses data via the Snappy compression library.
    Downloads: 22 This Week
    Last Update:
    See Project
  • 25
    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: 22 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • 3
  • 4
  • 5
  • Next