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.

  • Ship Agents Faster Icon
    Ship Agents Faster

    Transform your applications and workflows into powerful agentic systems at global scale.

    Gemini Enterprise Agent Platform lets you rapidly build, scale, govern and optimize production-ready agents grounded in your organization's data. The platform enables developers to build custom or pre-built agents for virtually any use case. New customers get $300 in free credits.
    Get Started 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

    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: 6,386 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: 3,501 This Week
    Last Update:
    See Project
  • 3
    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: 2,641 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,017 This Week
    Last Update:
    See Project
  • Demo Series - Small Business Backup By Veeam Icon
    Demo Series - Small Business Backup By Veeam

    Learn how to protect your Microsoft 365 data, with simple, actionable tips today.

    Watch this on-demand demo series and learn how to protect your Microsoft 365 data with clear, simple, actionable steps that are easy to implement for businesses of all sizes.
    Watch Demo Series
  • 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: 2,202 This Week
    Last Update:
    See Project
  • 6
    Easy3D

    Easy3D

    Efficient library for processing 3D data

    Easy3D is a lightweight, easy-to-use, and efficient library for processing and rendering 3D data, implemented in C++ with Python bindings. It is designed for tasks such as 3D modeling, geometry processing, and rendering, emphasizing simplicity and efficiency. Easy3D serves as a valuable tool for research, education, and the development of sophisticated 3D applications, providing a solid foundation for handling 3D data.
    Downloads: 216 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: 156 This Week
    Last Update:
    See Project
  • 8
    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: 78 This Week
    Last Update:
    See Project
  • 9
    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: 50 This Week
    Last Update:
    See Project
  • Train ML Models With SQL You Already Know Icon
    Train ML Models With SQL You Already Know

    BigQuery automates data prep, analysis, and predictions with built-in AI assistance.

    Build and deploy ML models using familiar SQL. Automate data prep with built-in Gemini. Query 1 TB and store 10 GB free monthly.
    Try 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: 46 This Week
    Last Update:
    See Project
  • 11
    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: 248 This Week
    Last Update:
    See Project
  • 12
    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: 41 This Week
    Last Update:
    See Project
  • 13

    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: 38 This Week
    Last Update:
    See Project
  • 14
    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: 34 This Week
    Last Update:
    See Project
  • 15
    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: 33 This Week
    Last Update:
    See Project
  • 16
    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: 32 This Week
    Last Update:
    See Project
  • 17
    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: 29 This Week
    Last Update:
    See Project
  • 18
    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: 28 This Week
    Last Update:
    See Project
  • 19
    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: 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: 127 This Week
    Last Update:
    See Project
  • 21
    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: 368 This Week
    Last Update:
    See Project
  • 22
    dlib C++ Library
    Dlib is a C++ toolkit containing machine learning algorithms and tools for creating complex software in C++ to solve real world problems.
    Leader badge
    Downloads: 109 This Week
    Last Update:
    See Project
  • 23
    ncnn

    ncnn

    High-performance neural network inference framework for mobile

    ncnn is a high-performance neural network inference computing framework designed specifically for mobile platforms. It brings artificial intelligence right at your fingertips with no third-party dependencies, and speeds faster than all other known open source frameworks for mobile phone cpu. ncnn allows developers to easily deploy deep learning algorithm models to the mobile platform and create intelligent APPs. It is cross-platform and supports most commonly used CNN networks, including Classical CNN (VGG AlexNet GoogleNet Inception), Face Detection (MTCNN RetinaFace), Segmentation (FCN PSPNet UNet YOLACT), and more. ncnn is currently being used in a number of Tencent applications, namely: QQ, Qzone, WeChat, and Pitu.
    Downloads: 24 This Week
    Last Update:
    See Project
  • 24
    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: 632 This Week
    Last Update:
    See Project
  • 25
    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: 20 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • 3
  • 4
  • 5
  • Next