Namespaces
Variants

A list of open-source C++ libraries

From cppreference.net

このページの目的は、包括的なオープンソースC++ライブラリのリストを構築することです。これにより、特定の機能の実装が必要な場合、ウェブ上で検索する時間を無駄にせずに済みます( DuckDuckGo , Google , Bing など)。

他の人々に役立つ可能性のあるライブラリをご存知の場合は、こちらにリンクを追加してください。ライブラリの ソース が容易に 入手 可能であること以外、含めることができるものに制限はありません。

このページは「現状のまま」提供されており、有用であることを期待していますが、いかなる保証もありません。ここには古くなった、誤解を招く、または間違ったリンクが表示される可能性があります。これらのいずれかに気付いた場合は、誤りを修正していただけると幸いです。

ライブラリ:目次

ライブラリ:


目次

パッケージマネージャー

パッケージマネージャ 説明
build2 オープンソース(MITライセンス)のクロスプラットフォームビルドツールチェーン。Rust Cargoの利便性をC/C++プロジェクトの開発とパッケージングに近似させつつ、特にビルドシステムにおいてより深い機能性と柔軟性を提供することを目指しています。
cget CMakeパッケージ取得ツール。CMakeパッケージのダウンロードとインストールに使用できます。
cmodule 非侵入型のCMake依存関係管理ツール。
conan 分散型のオープンソース(MITライセンス)C/C++パッケージマネージャ。
CPM.cmake CMakeに依存関係管理機能を追加するCMakeスクリプト。CMakeのFetchContentモジュールを薄くラップし、バージョン管理、キャッシング、シンプルなAPIなどを追加しています。
hunter CMake駆動のクロスプラットフォームC/C++プロジェクト用パッケージマネージャ。
spack スーパーコンピュータ、Linux、macOS向けのパッケージマネージャ。科学技術ソフトウェアのインストールを容易にします。特定のプログラミング言語に依存しません。
teaport CocoaPodsにインスパイアされた依存関係マネージャ。
vcpkg Windows、Linux、macOS向けのC/C++パッケージマネージャ。
xmake クロスプラットフォームのLuaベースC/C++ビルドツール兼パッケージマネージャ。

ライブラリ

オーディオ

ライブラリ 説明 ライセンス 設定
Amplitude Audio SDK ゲームのニーズを考慮して設計されたクロスプラットフォームのオーディオエンジン。( ソース ) Apache-2.0 cmake, vcpkg
Aquila C++11向けのオープンソースでクロスプラットフォームなDSPライブラリ。 MIT cmake
Aubio オーディオおよび音楽分析のためのC/Pythonライブラリ。( ソース ) GPL-3.0 make
audioFlux オーディオおよび音楽分析、特徴量抽出のためのCライブラリ。 MIT
Essentia オーディオおよび音楽の分析、記述、合成(MIR)のためのオープンソースライブラリおよびツール。( ソース ) Affero GPLv3
FFTW DFTを計算するためのライブラリ(SSE/SSE2/AVX/Altivec/ARM Neon)。( ソース ) GPL-2.0 cmake
FMOD ゲーム向けの使いやすいクロスプラットフォームのオーディオエンジンおよびオーディオコンテンツ作成ツール。 非商用/商用向け無料 cmake
KFR 高速でモダンなC++17、オープンソース、クロスプラットフォームのDSP/DFTフレームワーク。オーディオリサンプリング、FIR/IIRフィルター、Biquadをサポート(SSE、AVX、AVX-512、ARM NEON)。( ソース ) GPL-2.0 cmake
libsoundio クロスプラットフォームのリアルタイムオーディオ入出力のためのCライブラリ。( ソース ) MIT cmake
Maximilian C++オーディオおよび音楽DSPライブラリ。 MIT cmake
Miniaudio オーディオ再生およびキャプチャのためのCライブラリ。( ソース ) Unlicense 単一ソースファイル
ni-media オーディオファイルの読み書きのためのC++ライブラリ。 MIT cmake, vcpkg
OpenAL クロスプラットフォームのオーディオAPI。 BSD/LGPL/プロプライエタリ cmake
PortAudio 無料のクロスプラットフォームオープンソースオーディオI/Oライブラリ。( ソース ) MIT cmake, vcpkg
rnnoise オーディオノイズ低減のためのリカレントニューラルネットワーク。 BSD-3-Clause make
SELA S インプルな E L オスレス A ウディオ。 MIT cmake
SoLoud ゲーム向けの簡単でポータブルなオーディオエンジン。 zlib
Soundtouch オーディオストリームまたはオーディオファイルのテンポ、ピッチ、再生レートを変更するためのオープンソースのクロスプラットフォームオーディオ処理ライブラリ。( ソース ) LGPL-2.1 make
Tonic C++での簡単で効率的なオーディオシンセシス。 Unlicense
Verovio 高速で軽量な楽譜刻版ライブラリ。( ソース ) LGPL cmake, qmake
Wav2Letter++ 完全にC++で書かれた高速な音声認識ツールキット。最大効率のためにArrayFireテンソルライブラリとflashlight機械学習ライブラリを使用。 BSDライセンス cmake

CD
ライブラリ 説明 ライセンス 設定
libkcompactdisc CDとのインターフェース用ライブラリ GPL v2.0 cmake

フィンガープリンティング
ライブラリ 説明 ライセンス 設定
chromaprint Chromaprintは、ほぼ同一のオーディオを識別するために設計されたオーディオフィンガープリントライブラリです。精度と堅牢性を検索性能とトレードオフしています。Chromaprintは複数のFFTライブラリ - FFmpeg、FFTW3、KissFFT、vDSPを使用できます。( ソース ) MIT, LGPL 2.1 cmake
libmusicbrainz MusicBrainzクライアントライブラリ(libmusicbrainz)、別名mb_clientは、開発者がアプリケーションにMusicBrainz検索機能を追加するための開発ライブラリです。このライブラリはWindows、Linux、Mac OS Xをサポートしています( ソース ) LGPL-2.1 cmake
libofa MusicIPによるオープンソースのオーディオフィンガープリント APL make

フォーマット
ライブラリ 説明 ライセンス 設定
AudioFile オーディオファイルの読み書きを行うシンプルなC++ライブラリ MIT cmake
audio_file 多くの一般的なフォーマットでオーディオファイルの読み書きを扱うライブラリ ( ソース ) LGPL-2.1 make
dr_libs CおよびC++用のシングルファイルオーディオ(FLAC、MP3、WAV)デコードライブラリ Unlicense
flac FLACは F ree L ossless A udio C odecの略で、FLACで圧縮されたオーディオは品質が劣化しないことを意味します。FLACは、最も高速で広くサポートされているロスレスオーディオコーデックとして際立っており、非プロプライエタリで特許の制約を受けません。 オープンソース , BSD, GPL
LAME LAMEは高品質なMPEG Audio Layer III(MP3)エンコーダです。 LGPL
libsndfile サンプリングされた音声を含むファイル(WAV、AIFFなど)を標準ライブラリインターフェースを通じて読み書きするCライブラリ(C++ラッパー付き) ( ソース ) LGPL-2.1 cmake, make, vcpkg
minimp3 ミニマルなMP3デコーダ CC0-1.0 ヘッダーのみ
Opus 完全にオープンで、ロイヤリティフリー、非常に多用途なオーディオコーデック BSD cmake
Vorbis Ogg Vorbisは、完全にオープンで、非プロプライエタリ、特許およびロイヤリティフリーの汎用圧縮オーディオフォーマットです。 BSD cmake

タグ付け
ライブラリ 説明 ライセンス 設定
id3lib ID3v1およびID3v2タグの読み取り、書き込み、操作、およびビットレートなどの基本的なmp3ヘッダー情報の取得を行うためのオープンソースのクロスプラットフォームライブラリ。ただし、現在は taglib への移行を推奨します :) LGPL v2
taglib TagLib Audio Metadata Libraryは、複数の一般的なオーディオ形式のメタデータを読み取り・編集するためのライブラリです:MP3ファイルのID3v1、ID3v2、Ogg Vorbisコメント、およびFLAC、MPC、Speex、WavPack、TrueAudio、WAV、AIFF、MP4、ASFファイルのID3タグとVorbisコメント。( ソース ) LGPL および MPL v1.1

ベンチマーキング

ライブラリ 説明 ライセンス 設定
benchmark コードスニペットをベンチマークするライブラリ。単体テストと同様 Apache 2.0 cmake
Celero 機能豊富なC++ベンチマーク作成ライブラリ/フレームワーク。C++11を使用してWindows、Linux、OSXをサポート Apache cmake
Criterion 現代的なC++のためのマイクロベンチマークライブラリ MIT header-only; cmake
gperftools 'Google Performance Tools'には、高性能なマルチスレッドmalloc実装に加えて、ヒープ割り当てとCPU使用率のベンチマークツールが含まれます BSD 3-Clause "New" or "Revised" configure
nanobench C++11/14/17/20のためのシンプルで高速かつ正確なシングルヘッダーのマイクロベンチマーク機能 ( Src ) MIT header-only; cmake
picobench 極小のマイクロベンチマークライブラリ MIT header-only; cmake
plf::nanotimer ベンチマークのための最低オーバーヘッドのクロスプラットフォームシンプルタイマークラス zlib header-only

コミュニケーション

**翻訳結果:** **説明:** - HTMLタグ、属性、
タグ内のテキストは翻訳していません
- "TAO" と "CORBA" はC++/ソフトウェア開発の専門用語(TAO: The ACE ORB, CORBA: Common Object Request Broker Architecture)のため、翻訳せずに保持しています
- 元のフォーマットと構造を完全に保持しています
ライブラリ 説明 ライセンス 設定
ACE 非同期ネットワーキング、イベント多重分離、メッセージング ( ソース ) ( ドキュメント ) カスタム make
Apache Thrift Apache Thriftソフトウェアフレームワークは、スケーラブルなクロスランゲージサービス開発のためのもので、ソフトウェアスタックとコード生成エンジンを組み合わせて、C++、Java、Python、PHP、Ruby、Erlang、Perl、Haskell、C#、Cocoa、JavaScript、Node.js、Smalltalk、OCaml、Delphiおよびその他の言語間で効率的かつシームレスに動作するサービスを構築します。 ( ソース ) Apache-2.0 cmake, vcpkg
Boost.Asio 非同期および同期ネットワーキング、タイマー、シリアルI/O BSL-1.0
Boost.Beast Boost.Asioを基盤としたHTTPおよびWebSocketライブラリ BSL-1.0
Breep イベントベースの高レベルピアツーピアライブラリで、ユーザーが直接オブジェクトの送受信を可能にします。 European Union Public License 1.1 cmake
brpc Baidu全体で使用されている産業グレードのRPCフレームワーク、1,000,000+インスタンスと数千種類のサービスで運用されています。 ( ソース ) ( ドキュメント ) Apache 2.0 cmake
C++ REST SDK 非同期HTTPクライアントおよびリスナー、非同期ストリーム、URI、JSON MIT cmake
cpp-httplib C++11 シングルファイル ヘッダーのみのクロスプラットフォーム HTTP/HTTPS ライブラリ MIT ヘッダーのみ; cmake
cpp-netlib C++ ネットワークライブラリ BSL-1.0 cmake
cppsimpleuri モダンなC++ URI & クエリパーサー MIT cmake
cpr モダンなC++ HTTPリクエストライブラリ MIT cmake
Crow C++マイクロWebフレームワーク (Python Flaskにインスパイア) BSD-3-Clause header-only; cmake
curlpp libcURL (CURLライブラリ) のためのC++ラッパー。 ( ソース ) cmake, vcpkg
DumaisLib Webサーバー、JSON、WebSocketサーバー、RESTフレームワーク(C++アプリケーションでREST APIを作成するためのライブラリ)などの様々なユーティリティ MIT make
EasyHttp 使いやすさと速度に重点を置いたクロスプラットフォームHTTPクライアントライブラリ。HTTPレスポンスキャッシュなどをサポート。 MIT cmake
eCAL 高性能なプロセス間通信ライブラリ Apache 2.0 cmake
fineftp-server WindowsおよびUnix向けのFTPサーバーライブラリ MIT cmake
FPNN F 高速 P プログラマブル N ネクサス N ネットワーク。高性能完全非同期RPCサービスフレームワーク。HTTP、WebSocket、TCP、信頼性のあるUDPを同時サポート。超高負荷サーバーの開発をサポートし、対応するクライアントSDKを提供。 未知 make
gRPC あらゆる環境で動作するモダンなオープンソースの高性能RPCフレームワーク。( ソース ) ( ドキュメント ) Apache-2.0 bazel, cmake, vcpkg
gsoap XMLデータバインディングのためのC/C++開発ツールキット、高速なWSDL/SOAP/XML Webサービス、WS-Security、JSON/XML-RPC RESTfulサービス GPLv2
hmbdc 軽量で高性能なC++17メッセージpub/subミドルウェアフレームワーク/ライブラリ ヘッダーのみ
HTTPP Boostを基盤としたシンプルでC++14準拠のプロダクションレディなHTTPサーバーと、libcurlを基盤としたクライアント。 BSD 2-Clause "Simplified" cmake, make
IXWebSocket 依存関係のないオープンソースのWebSocket + HTTPライブラリ、SSLおよびメッセージごとのdeflate WebSocket拡張をサポート BSD 3-Clause "New" or "Revised" cmake, make
KCP 高速で信頼性の高いARQプロトコルで、アプリケーションのネットワーク遅延を低減します。 MIT cmake
libashttp 非同期HTTPクライアントライブラリ GNU Lesser General Public v3.0
libjson-rpc-cpp

C++向けのクロスプラットフォームJSON-RPC(リモートプロシージャコール)サポートを提供するフレームワークで、完全にJSON-RPC 2.0 & 1.0互換です。

MIT cmake, conan
libnavajo C++フレームワークで、高速なマルチスレッドHTTPサーバー、HTML5 WebSocket、SSL、X509およびHTTP認証、圧縮、Cookie、高度なセッション管理、IPv4およびIPv6をサポート(CeCILL-C)。 CeCILL-C フリーソフトウェアライセンス契約 cmake
libtins ネットワークパケット作成・スニッフィングライブラリ ( ソース ) ( ドキュメント ) BSD-2 cmake, vcpkg
LiteNetLibPP ゲーム用の軽量で信頼性の高いUDPライブラリ MIT cmake
mailio MIMEおよびメールライブラリ BSD 2条項「Simplified」ライセンス cmake
nanomsg 高速メッセージキュー、zeromqの後継
netif Windows、Linux、macOS、FreeBSDでネットワークアドレスを取得するためのC++14ライブラリ。 BSD 3-Clause "New" or "Revised" header-only; cmake
nghttp2 HTTP/2 Cライブラリおよびツール(サーバー、クライアント、プロキシ、ベンチマーキングツール) MIT cmake, configure
ngrest 高速で使いやすいJSON RESTful Webサービスフレームワーク Apache 2.0 cmake
nng 高速メッセージキュー、nanomsgの後継
Oat++ Webフレームワーク: REST-APIおよびリクエスト実装 ( Src ) ( Doc ) Apache 2.0 cmake
omniORB C++で実装された最速、完全かつ移植性の高いCORBA ORB実装
OpenDDS DDS (Data Distribution Service) 実装
Paho MQTT EclipseによるMQTT用のモダンなC++クライアント cmake
paozhu C++20 Webフレームワーク、HTTP/2、ORM、WebSocketをサポート MIT cmake
PcapPlusPlus マルチプラットフォームC++ネットワークスニッフィングおよびパケット解析・構築フレームワーク。libpcap、Npcap、WinPcap、DPDK、AF_XDP、PF_RINGなど、多くの一般的なパケット処理エンジンに対するC++ラッパーを提供します。( ソース ) Unlicense conan, homebrew, cmake, vcpkg
POCO ネットワーキング: 暗号化、HTTP; Zipファイル ( ドキュメント )
rest_rpc C++11、高性能、クロスプラットフォーム、使いやすいRPCフレームワーク。 MIT cmake
restbed C++14アプリケーションに非同期RESTful機能(HTTPを介した安全な通信)をもたらす、クロスプラットフォームの機能豊富なフレームワーク。 ライセンス cmake
restc-cpp C++からJSON APIにアクセス。HTTPクライアント、ネイティブC++クラスとJSON間のシリアライゼーション、boost::asioコルーチンによる非同期I/O。C++14。 MIT cmake
restful_mapper C++におけるRESTful JSON APIを利用するためのORM cmake, make
seastar C++14/C++17ベースの高性能サーバーサイドアプリケーションフレームワーク。 Apache 2.0 cmake, etc.
Silicon Silicon C++14 Web フレームワーク: 高速かつ堅牢な Web API MIT cmake
sockpp シンプルでモダンなC++ソケットライブラリ BSD 3条項「New」または「Revised」ライセンス cmake
stream-client Boostベースの軽量なクライアントサイドソケット/コネクタ/ソケットプール/リゾルバ Apache 2.0 ヘッダーのみ; cmake
tacopie C++11 TCPライブラリ MIT cmake
TAO CORBA
TAO CORBA
taox11 C++11ベースのCORBA実装 MIT
Unicomm 非同期ネットワーキング、高レベルTCP通信フレームワーク
uvw C++17における libuv (クロスプラットフォーム非同期I/O)ラッパー MIT ヘッダーのみ; cmake
WNetWrap C++によるWinInetラッパー MIT
wvstreams C++ネットワーキングライブラリ。UniConfと便利なD-Bus APIを含む GPL
zeromq 高速メッセージキュー

並行性

ライブラリ 説明 ライセンス 設定
AdaptiveCpp NVIDIA、AMD、IntelのCPUおよびGPU向けのSYCLおよびC++並列STLオフローディングコンパイラとランタイムシステムを提供 BSD-2-Clause cmake
Asyncpp 様々な並行操作を提供する非同期C++ライブラリ MIT cmake
BlockingCollection C++11 スレッドセーフ、マルチプロデューサー、マルチコンシューマー ブロッキングキュー、スタック & 優先度付きキュー クラス GPL-3.0 ヘッダーのみ
Boost.Atomic アトミックデータ型とこれらのデータ型に対する操作、およびアトミック変数を通じて複数のスレッドを調整するために必要なメモリ順序制約を提供します。 BSL-1.0
Boost.Compute C++向けのOpenCLベースのGPU/並列コンピューティングライブラリ。 BSL-1.0 cmake
Boost.Context C++11ライブラリで、単一スレッド上での協調的マルチタスク抽象化を提供します。 BSL-1.0
Boost.Interprocess プロセス間通信と同期メカニズムの使用を簡素化し、幅広い機能を提供します:共有メモリ、メモリマップトファイル、セマフォ、ミューテックス、条件変数とアップグレード可能なミューテックスタイプ、同期オブジェクトの名前付きバージョン、ファイルロック、メッセージキュー。 BSL-1.0
Boost.Lockfree ノンブロッキング(ロックフリーとも呼ばれる)並行データ構造を提供します:キュー、スタック、およびリングバッファ(spsc_queue)。 BSL-1.0
Boost.MPI 標準的な Message Passing Interface に対するC++フレンドリーなインターフェース BSL-1.0
Boost.Thread 共有データを持つ複数の実行スレッドの使用と、スレッド間でのデータ同期の手段を可能にします。 BSL-1.0
concurrencpp C++のためのモダンな並行処理。タスク、エグゼキューター、タイマー、C++20コルーチン。 MIT cmake
dispenso C++向けの高性能並行処理ライブラリ。parallel_for、Futures、パイプライン、タイマー、時間指定/定期的タスク、並行データ構造。 MIT cmake
Highway パフォーマンスポータブルで長さ非依存のSIMD/ベクトル組み込み関数を提供します。対応: SSE3, SSE4, AVX*, NEON, SVE*, WASM SIMD, RISC-V, POWER。 ( ドキュメント ) Apache-2.0 cmake
HPX あらゆる規模の並列および分散アプリケーションのための汎用C++ランタイムシステム ( ドキュメント ) BSL-1.0 cmake, vcpkg
Intel TBB Intel® TBBは、共有メモリ並列プログラミングとヘテロジニアスコンピューティングのためのクロスプラットフォームC++ライブラリです。このライブラリは以下を提供します:汎用並列アルゴリズム、並行コンテナ、スケーラブルメモリアロケータ、ワークスティーリングタスクスケジューラ、および低レベル同期プリミティブ。 ( Src ) ( Doc ) Apache-2.0 または商用ライセンス cmake, make
KOKKOS パフォーマンス移植性の高いHPCアプリケーションを記述するためのプログラミングモデル。バックエンドとしてCUDA、HIP、SYCL、HPX、OpenMP、C++スレッドを使用 ( ドキュメント ) カスタム cmake, make
libopenmpi Open MPIプロジェクトは、オープンソースのMessage Passing Interface実装です 3-clause BSD
libsimdpp 移植性の高いゼロオーバーヘッドのC++低レベルSIMDライブラリ。 Boost ヘッダーのみ; cmake
MPL C++17に対応した標準 Message Passing Interface へのインターフェース BSD 3条項「New」または「Revised」ライセンス ヘッダーのみ; cmake
MutexGear ミューテックスのみを使用する同期C/C++ライブラリ: wheel, rwlock, maintlock, ワークキュー The MutexGear Library configure, msvc, make
OpenMP 並列プログラミングのためのOpenMP API仕様
PoCL OpenCL標準のポータブルで再ターゲット可能なオープンソース(LLVMベース)実装。 ( Src ) ( Doc ) MIT cmake
RaftLib C++17のストリームライクな並行アクターで、並列データフロー計算を可能にする Apache-2.0 cmake
SObjectizer C++向けの小さなクロスプラットフォームフレームワークで、アクターモデルとパブリッシュ-サブスクライブモデルを使用した並行処理およびイベント駆動アプリケーションのためのものです。 BSD-3-Clause cmake, vcpkg, conan
stdgpu GPU上の効率的なSTLライクなデータ構造 Apache 2.0 cmake
subprocess C++17/20 クロスプラットフォーム サブプロセス実行ライブラリ MIT cmake, teaport
Taskflow モダンC++における並列タスクプログラミング TASKFLOW MIT cmake
task-thread-pool C++11以降のための高速で軽量なスレッドプール。 BSD-2-Clause または MIT または BSL-1.0 cmake, vcpkg, シングルヘッダー
ThreadPool シンプルで軽量なスレッドプール BSD-3-Clause header-only; cmake, make
thread_pool モダンで高速、軽量なスレッドプール MIT cmake
Thrust CUDA、TBB、またはOpenMP上でのSTL風の並列アルゴリズムとデータ構造 Apache v2.0, Boost v1.0. cmake
TimerAlarm スレッドベースのタイマーとアラーム。 BSD-3-Clause ヘッダーのみ; cmake, make
VexCL OpenCL、CUDA、OpenMP 向けの C++ ベクトル式テンプレートライブラリ MIT cmake
ViennaCL OpenMP、CUDA、OpenCLバックエンドによる線形代数とアルゴリズム。 ( ソース ) ( ドキュメント ) カスタム cmake
Xenium C++17ライブラリで、様々な並行データ構造とリクレメーションスキームを提供します。 MIT header-only; cmake

設定

ライブラリ 説明 ライセンス 設定
Boost.Program_options このライブラリは、コマンドライン、設定ファイル、環境変数などの従来の方法を通じて、ユーザーからプログラムオプション、つまり(名前、値)のペアを取得することを可能にします。 BSL-1.0
figcone 構造体を宣言することでJSON、YAML、TOML、XML、INI設定を読み込む MS-PL cmake
gconfmm 人気のあるGUIライブラリGTKのためのクロスプラットフォーム(公式)C++インターフェースで、型安全なコールバックや、継承によって容易に拡張可能な包括的なウィジェットセットを含みます。 gtkmm はSTLを使用し、 string s、コンテナ、イテレータを含みます。UTF8をサポートしています。( ソース ) ( ドキュメント ) LGPLv2.1 autotools, meson, make
libconfig 構造化された設定ファイル( "*.cfg" )を処理するためのシンプルなクロスプラットフォームC/C++ライブラリ( ソース ) ( ドキュメント ) LGPL 2.1 autotools, cmake, make
libconfini Cで書かれたクロスプラットフォームのINIパーサー( ドキュメント ) GPL-3.0 autotools, make
uconfig 軽量なC++17設定ライブラリ Apache 2.0 ヘッダーのみ; cmake

コマンドライン
ライブラリ 説明 ライセンス 構成
Argh! ミニマリストな引数ハンドラー BSD 3-Clause ヘッダーのみ; cmake, vcpkg
argparse (hbristow) 同名のPythonクラスと同様のインターフェースを持つ、スリムなC++コマンドライン引数解析クラス BSD
argparse (morrisfranken) 洗練された方法でコマンドライン引数を解析する軽量ライブラリ Apache 2 ヘッダーのみ; cmake
argparse (p-ranav) C++17向けコマンドライン引数パーサー MIT ヘッダーのみ; cmake, vcpkg
args シンプルなC++引数パーサーライブラリ MIT ヘッダーのみ; cmake, conan, meson, vcpkg
Boost.Program_options コマンドライン、設定ファイル、環境変数などの従来の方法からプログラムオプション(名前と値のペア)を取得できるライブラリ BSL-1.0
CLI11 シンプルで直感的なインターフェースと豊富な機能セットを提供するC++11コマンドラインパーサー BSD-3-Clause ヘッダーのみ; cmake, meson, vcpkg
clipp 現代的なC++向けの強力で表現力豊かな引数解析 MIT ヘッダーのみ; cmake, vcpkg
cmd_line_parser C++17向けコマンドラインパーサー MIT ヘッダーのみ; cmake
cmdlime 簡潔で宣言的なインターフェースを提供し、サブコマンド、バリデータ、GNU/POSIX/X11コマンドラインオプション形式の選択をサポートするC++17コマンドライン解析ライブラリ MS-PL cmake
cxxopts 標準的なGNUスタイルのオプション構文をサポートする軽量なC++11/C++17コマンドライン引数パーサー MIT ヘッダーのみ; bazel, cmake
fire-hpp 関数シグネチャを使用して完全な機能を持つCLIを作成 BSL-1.0 ヘッダーのみ; cmake
flags シンプルで拡張可能なC++17引数パーサー Unlicense ヘッダーのみ; cmake
gflags コマンドラインフラグ処理を実装するライブラリ。文字列などの標準型の組み込みサポートと、使用されるソースファイルでフラグを定義する機能を含む BSD cmake
structopt 構造体を定義してコマンドライン引数を解析 MIT ヘッダーのみ; cmake
tclap コマンドライン引数を解析するためのシンプルなC++テンプレートライブラリ。シンプルで柔軟なオブジェクト指向インターフェースを提供 MIT cmake

CSS
ライブラリ 説明 ライセンス 設定
mycss CSS Parser

HOCON
ライブラリ 説明 ライセンス 設定
cpp-hocon Puppletによって開発されたHOCONフォーマットのC++実装

JSON
HTMLタグ、属性、 タグ内のテキスト、C++固有の用語は翻訳せず、元のフォーマットを保持しました。「JSON Input Output Streams」を「JSON入出力ストリーム」と正確に翻訳しました。 **翻訳結果:** **説明:** - HTMLタグ、属性、
タグ内のテキストは翻訳していません
- C++固有の用語(JOSTはプロジェクト名/略称と思われるため)は翻訳していません
- 元のフォーマットを完全に保持しています
- 翻訳対象のテキストが存在しないため、出力は入力と同じになります
**注記**: このHTMLコードでは翻訳すべきテキストがほとんど含まれていません。唯一のテキスト要素「JSON++」はC++関連のライブラリ名であり、翻訳対象外です。そのため、元のHTMLは変更せずにそのまま保持されます。 **翻訳結果:** **説明:** - HTMLタグ、属性、`libjson`(C++ライブラリ名)は翻訳対象外 - 翻訳すべきテキストが存在しないため、元のHTML構造をそのまま保持 - フォーマットと空白文字を完全に維持 **注記**: 提供されたHTMLコードには翻訳すべきテキストコンテンツがほとんど含まれていません。唯一のテキスト要素「qjson」はC++ライブラリ名であり、翻訳対象外と判断しました。HTMLタグ、属性、および構造はすべて元のまま保持されています。 **翻訳説明:** - "ThorsSerializer" は固有名詞(プロジェクト名)のため翻訳せず - "JSON/BSON/YAML Input Output Streams" を「JSON/BSON/YAML 入力出力ストリーム」と翻訳 - "MIT" はライセンス名のため翻訳せず - "make" はビルドツール名のため翻訳せず - HTMLタグ、属性、書式は完全に保持 - C++関連用語は翻訳せず
ライブラリ 説明 ライセンス 設定
ArduinoJson Arduino、IoTおよび組み込みC++向けのC++98/11/14/17 JSONライブラリ MIT cmake
Boost.JSON C++11/17におけるJSONの解析、シリアライゼーション、およびDOM BSL-1.0
cajun-jsonapi JSON用のC++ APIで、標準C++に可能な限り近い直感的で簡潔なインターフェースを重視しています。 make
DAW JSON Link C++17ライブラリで、型チェックを備えた静的なC++バインディングを提供し、ライブラリの割り当てなしでユーザーデータ構造に直接パースすることが可能。プッシュ/プルモード、アロケータサポート、constexpr対応 BSL 1.0 cmake
Glaze 直接メモリシリアライゼーションを備えた最速のJSONライブラリ(C++23)の一つ。BEVEおよびCSVもサポート。 MIT cmake, conan, build2, vcpkg
jansson UTF-8サポートを備えたJSONデータのエンコード、デコード、操作のためのCライブラリ MIT cmake, make
jeayeson 非常に実用的なC++14 JSONライブラリ BSD-3 ヘッダーのみ
jios JSON入出力ストリーム MIT cmake
JOST
JOST
json Niels Lohmann JSON for C++11、直感的な構文を特徴とする MIT ヘッダーのみ; bazel, cmake, meson
Jsonifier 極めて高速なJSON解析/シリアライズのためのいくつかのC++20クラス MIT cmake
JSON Voorhees C++11向けのキラーJSON ( ドキュメント ) Apache-2.0 cmake
JSON++
json11 C++11用の軽量JSONライブラリで、JSONの解析とシリアライゼーションを提供します。 MIT cmake
JsonBox JSONを簡単かつ高速に読み書きするためのC++ライブラリ。 MIT cmake
jsoncons JSONおよびJSONライクなデータフォーマットのためのライブラリ。JSON Pointer、JSON Patch、JSONPath、CSV、MessagePack、CBOR、BSON、UBJSONをサポート。 Custom header-only
jsoncpp JSON値を操作するためのライブラリで、コメントを保持しながらシリアライゼーションとデシリアライゼーションを含む機能を提供します。 MIT cmake, conan, vcpkg
libjson
libjson
minijson C++ DOMレスおよびアロケーションフリーのJSON解析およびシリアライゼーション カスタム cmake
Neyson 軽量 C++11 JSON ライブラリ BSD-3-Clause cmake
nosjob JSONデータの生成と消費のためのC++98ライブラリ MIT make
qjson
rapidjson C++用の高速なJSONパーサー/ジェネレーターで、SAX/DOMスタイルのAPIを備え、UTF-8/16/32をサポートし、オプションでSIMDを使用します。 ( ドキュメント ) カスタム ヘッダーのみ; cmake, vcpkg
simdjson 現代のマイクロアーキテクチャを活用し、SIMDによる並列化で1秒あたりギガバイト単位のJSONを解析 ( 論文 ) ( 動画 ) Apache-2.0 cmake, vcpkg
struct_mapping JSONとC++構造体間のマッピング MIT cmake
swxJson 現在使用されている最も便利なC++ JSONライブラリ。たった1つの関数呼び出しで任意のレベルの複雑な構造を読み書きできます。パフォーマンスはRapidJSONの約半分です。 MIT make
ThorsSerializer JSON/BSON/YAML 入力出力ストリーム MIT make
ujson µjsonは、小規模なC++11、UTF-8、JSONライブラリです cmake
yyjson ANSI Cで書かれた高性能JSONライブラリ MIT cmake

TOML
ライブラリ 説明 ライセンス 設定
toml++ C++17以降のためのTOMLパーサーおよびシリアライザー
toml11 C++11ベースのTOML解析ライブラリ

XML
ライブラリ 説明 ライセンス 設定
ai-xml クラスに単一の最小限の関数を追加することで、オブジェクトをXMLとの間でシリアライズします。内部では libxml++ を使用しています。 AGPL-3.0 make
GPDS オブジェクトをXMLとの間でシリアライズするための汎用データシリアライザー。内部ではTinyXMLを使用しています。
gSOAP XMLデータバインディング
libxml++ libxml++はlibxml XMLパーサーCライブラリのC++ラッパーです。( ドキュメント ) LGPL-2
pugixml XPathサポートを備えた、軽量でシンプルかつ高速なC++用XMLパーサー MIT cmake, conan
tinyxml
tinyxml2 TinyXMLの別バージョンで、開発が進行中です。
Xerces

YAML
ライブラリ 説明 ライセンス 設定
yaml-cpp C++でのYAMLパーサーとエミッター MIT cmake

コンテナ

ライブラリ 説明 ライセンス 設定
Boost.Bimap 双方向マップライブラリで、 bimap<X,Y> のような連想コンテナを提供し、 X Y の両方をキーとして使用できます。 ( Src ) BSL-1.0
Boost.Container stdlib風のコンテナに加えて、再帰的コンテナや新規有用なコンテナを実装するライブラリ: flat_map , flat_set , flat_multimap , flat_multiset , stable_vector , static_vector , small_vector , devector . ( ソース ) BSL-1.0 ヘッダーのみ
Boost.Fusion 異種コレクションの タプル を扱うためのライブラリ。コンテナ( vector list set map )のセットと、それらの基盤データの変換された表現、別名 ビュー を提供します。" ( Src ) BSL-1.0
Boost.Heap stdlibが持つものよりも多くの機能と異なるパフォーマンス特性を備えた 優先度付きキュー の実装。 ( Src ) BSL-1.0
Boost.Pointer Container 例外安全性を保ち、最小限のオーバーヘッドで ヒープ割り当てオブジェクト を保持するコンテナを提供します。 ( ソース ) BSL-1.0
Boost.Tuple C++11以前のn- tuple を実装(固定サイズの要素コレクション) ( ソース ) BSL-1.0
Boost.Variant C++17以前の variant を実装(安全で汎用的なスタックベースの判別共用体コンテナ) ( ソース ) BSL-1.0
C++ Allocators 固定サイズの静的およびスタックベースメモリ用の標準ライブラリ準拠アロケータ + カスタム境界割り当てを可能にする別の準拠アロケータ BSD-3-Clause cmake, make
cpp-btree B-treeコンテナはCPUキャッシュをより効率的に利用します: btree_map , btree_set , btree_multimap , btree_multiset . ( ソース ) Apache-2.0 ヘッダーのみ; cmake
DataFrame 統計分析、金融分析、機械学習分析のためのC++ DataFrame -- モダンなC++を使用し、ネイティブ型と連続メモリストレージを採用 BSD-3-Clause cmake, make, conan, vcpkg
eggs::variant Eggs.VariantはC++11/14/17のジェネリックで型安全な判別共用体です。特に非常に優れた constexpr サポートを備えている点で注目されています。 BSL-1.0 cmake
Frozen C++14 constexpr 完全ハッシュベースの不変セット、マップ、およびアルゴリズム。 Apache-2.0 ヘッダーのみ; cmake
Immer 永続的かつ不変のデータ構造ライブラリ Boost cmake
plf::colony 順序付けされていない「バッグのような」コンテナで、挿入や削除に関わらず消去されていない要素への有効なポインタを維持しながら、高変更シナリオにおいて std:: コンテナよりも優れたパフォーマンスを発揮します。C++98/11/14/etc互換。 P0447 ( std::hive ) も参照してください。( ソース ) zlib conan build2
plf::list std::list の実装で、範囲スプライシングを犠牲にしてキャッシュフレンドリー性を優先し、より高速な挿入、削除、反復処理を実現。C++98/03/11/14/17/20/23/26/etc互換。 ( ソース ) ( ドキュメント ) zlib
plf::reorderase ランダムアクセスコンテナの「swap-and-pop」/「move-and-pop」イディオムを拡張および最適化し、削除後の順序が重要でない場合のランダムアクセスコンテナの削除パフォーマンスを向上させる。 std::erase_if スタイルの単一、範囲、および削除をカバー。C++98/11/14/etc互換。( ソース zlib
plf::queue std::queue コンテナアダプタのドロップイン代替コンテナで、 std::deque および std::list よりもキューコンテキストでのパフォーマンスが優れています。C++98/11/14/etc互換。 ( ソース ) zlib
plf::stack std::stackコンテナアダプタのドロップイン置換コンテナで、 std::stack コンテキストにおいて std::vector および std::deque よりも優れたパフォーマンスを発揮します。C++98/11/14/etc互換。( ソース ) zlib
ring_span Arthur O'Dwyerの ring_span の軽量実装。別名:循環バッファビュー。C++98互換。 BSL-1.0 ヘッダーのみ; cmake
strict_variant リアルタイム/組み込み向け(つまり -fno-exceptions / -fno-rtti 互換)の、決して空にならない variant 。C++11を対象とした高速な実装で、多くの望ましくない暗黙的変換を防止します。 BSL-1.0 cmake
tiny::optional std::optional の代替実装で、センチネル値を使用してメモリストレージのオーバーヘッドを排除します。 BSL-1.0 cmake
Ygg 高パフォーマンスなコンテナとデータ構造の侵入型C++11実装。例えば 赤黒木 区間木 、および区間マップを含む。 MIT ヘッダーのみ; cmake

暗号学

ライブラリ 説明 ライセンス 構成方法
Botan 暗号化ツールキット ( ソース ) BSD 2-Clause "Simplified" make
crypto++ 暗号スキームのフリーC++クラスライブラリ ( ソース ) Boost make
gnutls SSL、TLS、DTLSプロトコルおよび関連技術を実装した安全な通信ライブラリ ( ソース ) LGPL-2.1 make
openssl 堅牢で商用グレードの多機能な汎用暗号化および安全な通信ツールキット ( ソース ) Apache-2.0 make
TomCrypt 包括的でモジュール式、移植性の高い暗号化ツールキット。多数の既知ブロック暗号、一方向ハッシュ関数、チェーニングモード、疑似乱数生成器、公開鍵暗号およびその他のルーチンを提供 ( ソース ) public domain cmake, make

データベース

ライブラリ 説明 ライセンス 設定
Boost::MySQL MySQLクライアントライブラリ BSL-1.0
cpp-redis C++11 軽量Redisクライアント: 非同期、スレッドセーフ、依存関係なし、パイプライン処理、マルチプラットフォーム対応。 ( ドキュメント ) MIT cmake
DTL ODBCレコードセットをSTLコンテナのように見せる ( Src ) ( Doc )
EasyQtSql 軽量なC++11(Qtベース)ライブラリで、迅速かつ容易なSQLクエリ実行を実現 MIT header-only; qmake
Galera Galera Clusterは、MySQL/MariaDB向けの同期マルチマスター複製ライブラリ(Galera)およびWrite Set Replication(WSREP)APIです( Src GPLv2 cmake, scons
LevelDB Googleによって開発されたC++ライブラリで、ビリオンスケールのKey-Valueデータ永続化ストレージを扱います。( ドキュメント ) BSD-3 cmake
libpqxx PostgreSQL用C++コネクタ ( Src ) BSD-3 cmake, make
lmdb++ LMDB 組み込み B+ ツリーデータベースライブラリの C++11 ラッパー。 Unlicense make
mongocxx MongoDB向けの公式C++11ドライバライブラリ ( ドキュメント )。CRUD操作、インデックス作成、集計処理向けに最適化されたAPIを提供します。BSONをサポートし、コネクションプーリングと認証メカニズムを備えており、MongoDBを活用するC++アプリケーション構築のための高性能でスケーラブルなソリューションを提供します。 Apache 2.0 cmake
mysql++ MySQL データベースとツール
nanodbc ネイティブC ODBC API用の小型でクロスプラットフォームなC++14ラッパー MIT cmake
ODB オープンソースのクロスプラットフォーム、クロスデータベースのC++用オブジェクトリレーショナルマッピング(ORM)システム。ODBはMySQL、SQLite、PostgreSQL、Oracle、Microsoft SQL Serverのリレーショナルデータベース、およびC++98/03とC++11言語標準をサポートしています。 GPL2 および/または NCUEL
OTL Oracle DB、ODBC、DB2-CLI用のC++テンプレートベースのデータベースライブラリ。 ( ソース )
Pgfe モダンなC++によるPostgreSQLクライアント(フロントエンド)API Zlib cmake
QTL MySQL、SQLite、ODBC向けの使いやすく軽量なC++データベースライブラリ。 Apache-2.0 make
QUINCE QU クエリ IN C ++ E 式 (ORM+EDSL) Boost
QxOrm C++/Qt向けの O bject R elational M apping (ORM) データベースライブラリ。主要なデータベースをサポートし、シリアライゼーション(JSON、バイナリ、XML)に対応。スタンドアロンのマルチスレッドHTTPウェブサーバーを内蔵 GPLv3 または プロプライエタリ
redis-cpp Redisコマンドを実行するための軽量なC++17クライアントライブラリ。 MIT header-only; cmake
redis-plus-plus C++ 11で書かれたRedisクライアントで、Redis Sentinel、Redis Cluster、パイプライン、トランザクション、pubsub、コネクションプール、STLライクなインターフェースをサポート Apache-2.0 cmake
SOCI プラグインベースのデータベースライブラリで、通常のC++コードにSQLクエリを埋め込む。サポートされるバックエンドには以下が含まれる:DB2、Firebird、MySQL、ODBC(汎用バックエンド)、Oracle、PostgreSQL、SQLite3。( ソース ) ( ドキュメント ) Boost cmake
SQLAPI++ 複数のSQLデータベースシステムをサポートするミドルウェアC++データベースライブラリ:Oracle、SQL Server、DB2、Sybase、MySQL、PostgreSQL、SQLite、Informix、InterBase / Firebird、SQLBase、SQL Anywhere、ODBC、MariaDB。 ( ソース ) ( ドキュメント ) カスタム make
SQLiteCPP 軽量で使いやすいC++ SQLite3ラッパー。 MIT cmake, meson, vcpkg
SQLite ORM SQLiteによって理解されるSQLのための、現代的なC++向けの E mbedded D omain- S pecific L anguage (EDSL)。 AGPL-3.0, MIT header-only; cmake, vcpkg
sqlpp11 C++におけるSQLクエリと結果のための型安全な組み込みドメイン固有言語。 BSD-2 cmake
taoPQ 軽量なC++17 PostgreSQLクライアントライブラリ Boost cmake

組込み言語バインディング

ライブラリ 説明 ライセンス 設定
AngelScript C++に似たスクリプト言語 ZLib
ChaiScript C++向けの使いやすい組み込みスクリプト言語 BSD-3-Clause
cling 対話型C++インタープリター。ClangとLLVM上に構築され、RAD、スクリプト作成、組み込みスクリプト、ランタイムコード生成を実現( Src カスタム / LGPL cmake
ExprTk シンプルで使いやすく、統合が容易で非常に効率的な実行時数学式パーサーおよび評価エンジン。ExprTkは多数の関数型、論理型、ベクトル処理セマンティクスをサポートし、拡張性が非常に高い
Jinx ビデオゲーム向けに設計されたスクリプト言語 MIT cmake
spidermonkey.dev MozillaのJavaScriptおよびWebAssemblyエンジン
muparser 拡張性の高い高性能数学式パーサーライブラリ(C++記述) BSD-2-Clause cmake
PythonQt Qtフレームワーク向けの動的Pythonバインディング。C++ QtアプリケーションにPythonスクリプト言語を簡単に組み込む方法を提供 LGPL 2.1
lua 主に組み込み用途向けに設計された軽量マルチパラダイムスクリプト言語。Cライブラリ MIT make
sol2 LuaへのモダンなC++ライブラリバインディング MIT ヘッダーのみ; cmake
v8pp C++関数とクラスをV8 JavaScriptエンジンにバインド BSL-1.0 ヘッダーのみ; cmake

組込み/リアルタイム

ライブラリ 説明 ライセンス 設定
distortos マイクロコントローラ(ARM、STM32)向けのオブジェクト指向C++11 RTOS( ソース )( ドキュメント MPL-2.0 cmake
ETL E mbedded T emplate L ibrary - C++03、低リソース(組み込み)プラットフォーム向けに調整されたポータブルテンプレートライブラリ( ソース MIT
QP/C++ RTOSカーネル:アクティブオブジェクトとステートマシンに基づくリアルタイム組み込みフレームワーク GPLv3
µcuREST マイクロコントローラ向けC++11 REST/JSONサーバーフレームワーク

ファイルメタデータ

ライブラリ 説明 ライセンス 設定
exempi
exiv2
libkexiv2
rarian

財務計算

ライブラリ 説明 ライセンス 設定
DataFrame 統計、金融、機械学習分析のためのC++ DataFrame -- ネイティブ型と連続メモリストレージを使用したモダンなC++ BSD-3-Clause cmake, make, conan
QuantLib 定量金融ライブラリ - 定量金融のためのフリー/オープンソースライブラリ modified BSD

ゲームエンジンアーキテクチャ

ライブラリ 説明 ライセンス 構成方法
Anax オープンソースのC++エンティティシステム MIT cmake
Anura フル機能のゲームエンジンであり、 Frogatto & Friends の基盤技術 カスタム オープンソース make, vcpkg
BOX2D 物理エンジン MIT cmake
EntityPlus C++17 エンティティコンポーネントシステム BSD-1.0 cmake
EntityX 高速で型安全なC++エンティティコンポーネントシステム MIT cmake
EnTT モダンC++で書かれたゲーム開発用軽量ライブラリ MIT ヘッダーのみ; cmake, bazel, conan, vcpkg, brew, cppget

一般マルチメディア

ライブラリ 説明 ライセンス 設定
Kigs-framework モジュラー式の多目的クロスプラットフォームフレームワーク MIT
openFrameworks MIT
SDL S imple D irectMedia L ayer: クロスプラットフォーム(Windows、macOS、Linux、iOS、Androidなど)で、プラットフォームのグラフィックスAPI(OpenGL/Direct3D/Metal/Vulkan)を介してオーディオ、キーボード、マウス、ジョイスティック、グラフィックスハードウェアへの低レベルアクセスを提供( Doc )( Src zlib cmake
SFML S imple and F ast M ultimedia L ibrary; マルチプラットフォーム(Windows、Linux、macOS、近日Android & iOS対応予定);ゲームおよびマルチメディアアプリケーションの開発を容易にするシンプルなインターフェースを提供。システム、ウィンドウ、グラフィックス(OpenGL上)、オーディオ、ネットワークの5つのモジュールで構成 zlib/png cmake
SIGIL S ound, I nput, and G raphics I ntegration L ibrary; テキスト、図形、入力、オーディオ、2D画像のためのシンプルでクロスプラットフォームなミニマリストライブラリ。対応プラットフォーム:Windows、Linux、Raspberry Pi License cmake

ジェネリック

ライブラリ 説明 ライセンス 設定
Abseil Googleが開発したオープンソースのC++ライブラリコレクションで、C++標準ライブラリを補完することを目的としています。 ( ドキュメント ) ( ソース ) Apache-2.0 cmake
抽象侵入型コンテナ Boost.Intrusive よりも柔軟性が高いが、STL互換ではない。
Au C++14互換の物理単位ライブラリで、依存関係がなく、安全性、アクセシビリティ、パフォーマンスに重点を置いています。 ( ドキュメント ) Apache 2.0 ヘッダーのみ
BDE Bloomberg L.P. による Bloomberg Development Environment コアライブラリ Apache
Better Enums リフレクティブ列挙型(enumから文字列への変換、反復処理など)をconstexprサポートで実現。 BSD-2 ヘッダーのみ、cmake、make
bitfield.h ビットフィールド構造体機能、基本言語機能よりも移植性と柔軟性に優れています。
Boost 大規模な汎用ライブラリのコレクション BSL-1.0
CAF C++ Actor Framework (CAF) は、軽量かつ高速なアクター実装、メッセージのためのパターンマッチング、ネットワーク透過的なメッセージングなどを特徴とするオープンソースのC++11アクターモデル実装です BSD
Cinder C++におけるプロフェッショナル品質のクリエイティブコーディングのための、コミュニティ開発の無料オープンソースライブラリ ( ドキュメント ) ( ソース ) Modified BSD cmake
CommonPP プロジェクトからメトリクスを取得することに重点を置いた多目的ライブラリ。 BSD
composite_op.h 基本的なクラスデータメンバーのイントロスペクション、煩雑でしばしば再入可能ではないが、時に有用。
cpp-mmf POSIXまたはWindows向けのメモリマップトファイルをカプセル化するC++98ライブラリ
cxxomfort C++機能のバックポート(C++11からC++03へのバックポート、およびC++1y提案からC++11/C++03へのバックポート)。
Dlib ネットワーキング、スレッド、グラフィカルインターフェース、データ構造、線形代数、機械学習、XMLおよびテキスト解析、数値最適化、ベイジアンネット、その他多数のタスク Boost
eventpp C++用イベントライブラリで、コールバック、イベントディスパッチャ、イベントキューを提供します。eventppを使用すると、シグナルとスロット機構、パブリッシャーとサブスクライバーパターン、またはオブザーバーパターンを容易に実装できます。 Apache 2.0
fcppt Freundlich's C++ Toolkit (fcppt) は、より優れた型を提供し、関数型プログラミングを活用することで、一般的なC++コードの改善に焦点を当てたライブラリのコレクションです。
Folly Facebookのオープンソースライブラリ。実用性と効率性を考慮して設計されたC++14コンポーネントのクロスプラットフォームライブラリ。( ドキュメント ) Apache-2.0 cmake, vcpkg
GSL C++ Core G uidelines S upport L ibraryの実装、Bjarne Stroustrup、Herb Sutterらが C++ Core Guidelines で推奨 MIT cmake, vcpkg
gsl-lite C++98、C++11以降のためのISO C++ Guideline Support Library (GSL)のバージョン MIT ヘッダーのみ
GUL14 DESY によるC++14用汎用ユーティリティライブラリ: 頻繁に使用されるユーティリティ関数と型を含み、文字列ユーティリティ、統計および数値関数、コンテナ、デバッグ手段などを提供 ( ソース ) LGPL-2.1 meson, vcpkg
History モダンC++17 元に戻す/やり直しフレームワーク Unlicense
hspp C++にHaskellスタイルのプログラミングをもたらす実験的なライブラリ。 Apache-2.0 header-only
IP-DOS (tm) IdeaFarm (tm) Piggyback Distributed Operating System: C++言語向け汎用プログラミング環境 プロプライエタリ・オープンソース Open Watcom 2.0
JUCE 広範で成熟したクロスプラットフォームC++ツールキット GPL
Kangaru C++11およびC++14向けの依存性注入コンテナ MIT
Kerbal 最新のSTL機能を以前の標準にバックポート。より多くの機能!より多くのconstexpr! LGPL-3.0 header-only; cmake
libsourcey 高速ネットワーキングとメディアエンコーディングのためのクロスプラットフォーム C++14 ライブラリ。HTTP、WebSockets、TURN、STUN、Symple など。 LGPL-2.1 cmake
LLNL/units 測定単位とそれらの間の変換、および単位と測定値の文字列表現を扱うための実行時C++ライブラリ BSD 3-Clause "New" or "Revised" cmake
Loki デザインパターンとイディオムの柔軟な実装を含む、C++デザインライブラリ。 MIT make
match(it) C++17向けの軽量パターンマッチングライブラリ、マクロフリーAPIを提供。 Apache-2.0 header-only
nonstd-lite *-liteリポジトリのリスト(例: span-lite scope-lite expected-lite )で、提案中または既に標準化されたC++17/20/23ライブラリ型( std::span std::expected など)のC++98/11実装を含む。 BSL-1.0 ヘッダーのみ
nytl 汎用C++17ユーティリティテンプレートライブラリ。 BSL-1.0 ヘッダーのみ
OnPosix POSIXプラットフォーム上で複数の抽象化(例:スレッド、ネットワーキング、ロギング、IPCなど)を提供するC++ライブラリ。
Reason XML、xpath、regex、threads、sockets、HTTP、SQL、date-time、streams、encoding and decoding、filesystem、compression GPL
SaferCPlusPlus 安全な互換性のある代替品を提供する、安全でないC++プリミティブ(ポインタ、 int および std::vector を含む)向けのライブラリ。 Boost
Smart Enum to_string , from_string およびその他の列挙型用機能。 BSL-1.0 cmake
units C++14で構築された、依存関係のないコンパイル時次元解析および単位変換ライブラリ MIT ヘッダーのみ
yaal Y et A nother A bstraction L ayer - アルゴリズム、コレクション、任意精度計算、汎用DSL文法駆動パーサーなど CC BY-ND-NC 4.0 cmake
Yato モダンなC++(14/17)クロスプラットフォームのSTLスタイルかつSTL互換ライブラリで、コンテナ、レンジ、イテレータ、型特性およびその他のツールを実装;アクターシステム;型安全な設定インターフェース。 Apache-2.0 cmake
yomm2 C++17向けのオープンなマルチメソッド Boost
zoolib ZooLibは機能豊富なC++ツールキットです。 MIT

GPS

ライブラリ 説明 ライセンス 設定
gpsd オープンソースのクロスプラットフォーム(Linux/Unix/BSD系、AndroidおよびOS Xを含む)GPS対応ツールセット。GPSデバイス、AIS無線機、その他のナビゲーションセンサー向けのトランスレータおよびレプリケータデーモンなどを含む。 gpsd は主にC言語とPythonで記述されているが、C++ラッパーも備えている。 gpsd はモバイル組み込みシステムで広く使用されている。位置情報を利用するすべてのAndroidアプリは間接的に gpsd クライアントである。( ドキュメント ) ( ソース ) BSD 2-clause scons

グラフィカルユーザーインターフェース

ライブラリ 説明 ライセンス 設定
Brisk クロスプラットフォームのC++20モジュラーGUIフレームワーク。リアクティブ機能とスケーラブルなGPUアクセラレーテッドレンダリングを備える。( ソース ), ( ドキュメント ) GPL2+/プロプライエタリ cmake, vcpkg
Dear ImGui 最小限の依存関係で軽量なC++用GUIライブラリ。ポータブルでレンダリング方式に依存せず、3Dパイプライン対応アプリでの使用に最適化されている。 MIT vcpkg
FLTK クロスプラットフォームC++ GUIツールキット(Linux、Windows、MacOS)。モダンなGUI機能を提供し、OpenGL/GLUTによる3Dグラフィックスをサポート。小型でモジュラー設計。UIビルダーを含む。 LGPL ver.2
nana モダンなC++スタイルによるクロスプラットフォームGUIプログラミング。( ソース ), ( ドキュメント ) BSL-1.0 cmake, vcpkg
nanogui OpenGL 3.x以上向けのミニマルなクロスプラットフォームウィジェットライブラリ( ドキュメント )
OWLNext OWL のモダンなアップデート版。Windows上で標準C++を使用したGUIアプリケーション開発用
Slint デスクトップ、組み込み、マイクロコントローラ向けのネイティブユーザーインターフェース構築のための宣言的GUIツールキット。( ソース ), ( ドキュメント ) GPL 3, ロイヤリティフリー , または商用ライセンス cmake
tiny file dialogs C/C++用クロスプラットフォームファイルダイアログセット(初期化不要、メインループ不要、6つのモーダル関数呼び出し) ヘッダーのみ
U++ 統合IDEを備えたクロスプラットフォーム(Windows、GNU/Linux、macOS)高速アプリケーション開発フレームワーク。C++17互換。( ドキュメント ) ( ソース ) BSD-3-Clause make
WxWidgets ネイティブコントロールを使用した高度なGUIアプリケーション開発のためのフリーでオープンソースのクロスプラットフォーム(Windows、GNU/Linux、macOS)C++フレームワーク。( ドキュメント ) 修正版LGPL cmake, make
xtd Windows、macOS、Linux、iOS、Android上でコンソール、GUI、ユニットテストアプリケーションを作成するためのモダンなC++17/20フレームワーク。( ソース ) ( ドキュメント ) MIT cmake

CopperSpice
ライブラリ 説明 ライセンス 構成
CopperSpice クロスプラットフォームソフトウェアアプリケーションを開発するために使用される一連のC++ライブラリ。現代的な慣用的なC++を使用し、STLとシームレスに統合します。CopperSpiceはQtフレームワークから派生しました。( ドキュメント ) ( ソース ) LGPL-2.1 cmake
CsSignal スタンドアロンのC++スレッド対応シグナル/スロットライブラリ LGPL-2.1 cmake
CsString スタンドアロンのC++ Unicode対応文字列ライブラリ LGPL-2.1 cmake
libGuarded 共有データへのアクセスを管理するためのスタンドアロンC++マルチスレッドライブラリ LGPL-2.1 cmake

GTK+
ライブラリ 説明 ライセンス 設定
evince
flowcanvas
glibmm
goocanvasmm
gtkmm GTK+ GUIライブラリのためのクロスプラットフォームC++インターフェース。 LGPL
libglademm
libgnomecanvasmm
webkitgtk

Qt
ライブラリ 説明 ライセンス 設定
libdbusmenu-qt DBusを介したメニュー構造の共有と表示をシンプルかつ簡単に使用できるように設計された小さなライブラリ。QTとGTK+の両方で動作し、メニューの構築を容易にします。
Qt ( ドキュメント ) ( ソース )
QuickQanava C++14 ネットワーク/グラフ可視化ライブラリ / Qt ノードエディタ BSD 2.0 cmake
qwt5 技術アプリケーション向け Qt ウィジェット
qwtplot3d

U++
ライブラリ 説明 ライセンス 設定
U++ プログラマーの生産性に焦点を当てたC++クロスプラットフォーム高速アプリケーション開発フレームワーク。GUI、SQLなどのライブラリセットと統合開発環境を含む。( Src/Bin ) BSD
upp-components TerminalCtrl MessageCtrl などのU++用サードパーティパッケージコレクション BSD-3-Clause

グラフィックス

ライブラリ 説明 ライセンス 設定
bgfx 強力なクロスプラットフォーム(Windows、Mac、Linux、iOS、Android、Web)2D/3Dグラフィックスレンダリングシェーダー対応ライブラリ。レンダリングバックエンド:DX、OpenGL、Metal、WebGL、Vulkanなど( ドキュメント BSD-2 make
cairomm CairoグラフィックスライブラリのC++ラッパー。複数の出力デバイスをサポートする2Dライブラリ:X Window、Quartz、Win32、イメージバッファ、PostScript、PDF、SVG、OpenGL(実験的) LGPL
dfpsr 2D、3Dおよびアイソメトリックソフトウェアレンダラー。デスクトップGUIツールキット付き、依存関係が最小限、長期間のメンテナンスを想定して設計され、3Dアクセラレーションドライバーなしで動作可能 zlib
gegl Ge neric G raphics L ibrary(GEGL)はデータフローベースの画像処理フレームワークで、浮動小数点処理と非破壊的画像処理機能を提供( ソース LGPL
io2d P0267 のリファレンス実装。提案されている ISO C++向け2DグラフィックスAPI BSL-1.0 cmake
nanovg OpenGL上で動作するアンチエイリアス対応2Dベクター描画ライブラリ(C言語)。UIとビジュアライゼーション用。DX11/Metal/bgfxへの移植版あり zlib
nux OpenGLツールキット LGPL v3
pangomm Pango フォントレイアウトライブラリの公式C++インターフェース( ソース LGPL v2.1 make
Skia C++で書かれたオープンソースの2Dグラフィックスライブラリ。 Skia Graphics Engine はGoogle Chrome、Chrome OS、Mozilla Firefox、Android、LibreOffice、Flutterなどで使用されている。 Skia は複数のバックエンドを持つ:ソフトウェアラスタライゼーション、(PDF)出力、OpenGL、SVGなど New BSD
TXLib TX LibraryはWin32用の小さな2Dグラフィックスライブラリ(C++記述)
ULIS クロスプラットフォームC++14ライブラリ。汎用デジタル画像処理、2Dソフトウェアラスタライザー、無制限の画像フォーマット( u8 u16 u32 float double )、カスタムビット順メモリレイアウト、すべてのPhotoshopピクセルブレンディングモード+11の追加モード、カラーモデル(RGB、HSL、HSV、CMYK、...)、カラーマネージドパイプライン、カラースペースサポート(icmプロファイルとデバイス非依存)、マルチスレッドによる最適化アルゴリズム、SIMD拡張(SSE2)による最適化アルゴリズム、最適化のためのイメージプールとキャッシュ、アニメーション画像シーケンスのメモリストレージ カスタム(非商用目的のみ無料) cmake

グラフィックス (3D)

ライブラリ 説明 ライセンス 設定
assimp 3Dモデル読み込み BSD-3 cmake, vcpkg
bgfx クロスプラットフォームでグラフィックスAPIに依存しない、「Bring Your Own Engine/Framework」スタイルのレンダリングライブラリ。 BSD-2 make, vcpkg
Diligent Engine モダンなクロスプラットフォームの低レベル3Dグラフィックスライブラリ。 Apache-2.0 cmake
Epoxy GLEWの近代的な後継ライブラリ。一部の種類のGLコンテキスト間の差異を抽象化し、GLEWよりも使用が簡素化される場合がある。2015年以降GTK+プロジェクトで使用されている。 MIT meson, vcpkg
G3D G3D Innovation Engineは、C/C++で記述された、完全な機能を備えたオープンソースのクロスプラットフォーム(Windows、Linux、Mac OS)3Dゲームエンジンです。G3Dは、商用ゲーム、研究論文、シミュレーター、大学のコースで使用されています。リアルタイムおよびオフラインのハードウェアレンダリング、レイトレーシング、モデルローディング、線形代数、GPUでのGP計算をサポートしています。3DS、OBJ、MP4、PNG、JPG、MD3およびその他多くのフォーマットをサポートし、ネイティブOpenGLのスキン可能なGUIを含みます。( Src ) ( Doc ) BSD-2
GLAD カスタマイズ可能で軽量なOpenGL関数ローディングライブラリ
GLEW OpenGL関数ローダー ( ソース ) EXTGL/BSD/MIT make, vcpkg
GLFW OpenGLウィンドウマネージャー ( ソース ) ( ドキュメント ) zlib/libpng cmake, vcpkg
GLM Open GL M athematics (GLM) は、 GLSL 仕様に基づくグラフィックスソフトウェア向けのC++数学ライブラリです。 The Happy Bunny /
MIT
header-only; cmake, vcpkg
Godot C++17で書かれたフル機能のマルチプラットフォーム2Dおよび3Dゲームエンジンで、GUIエディタは自身で書かれており、Python風のスクリプト言語を備えています。 MIT scons
hlsl++ HLSL構文を使用したレンダリングのためのC++数学ライブラリ。SSEおよびNEONをサポート MIT ヘッダーのみ
Horde3D 軽量で可能な限りクリーンな設計でありながら、次世代ゲームで期待される見事な視覚効果を提供するグラフィックスエンジンを開発する目的で書かれた、小規模なオープンソース3Dレンダリングエンジン。 EPL
Irrlicht Irrlicht Engineは、C++で書かれたオープンソースのリアルタイム3Dエンジンです。クロスプラットフォーム対応で、D3D、OpenGL、および独自のソフトウェアレンダラーを使用しています。 zlib/libpng make, vcpkg
klein C++11/14/17 SSE最適化された射影幾何代数ライブラリ、グラフィックスとアニメーション用 MIT cmake, vcpkg
Magnum ゲームおよびデータ可視化のための軽量でモジュラーなC++11/C++14グラフィックスミドルウェア ( ソース ) カスタム cmake
O3DE O ープンソース 3D E ンジン(旧Amazon Lumberyard)は、C++マルチプラットフォーム3Dエンジンで、AAAゲーム、シネマ品質の3Dワールド、および高精度シミュレーションを構築します。物理シミュレーション、スクリプトエンジン、ネットワーキング、および その他機能 を含みます。( ドキュメント ) Apache 2.0 cmake
Ogre3D OGREはオブジェクト指向グラフィックスレンダリングエンジンであり、多目的可視化ライブラリです。科学技術可視化、ゲーム、シミュレーション、仮想現実、その他のグラフィックプロジェクトに適しています。マルチプラットフォームで非常に堅牢であり、優れたドキュメントを備えています。 MIT cmake, vcpkg
Open CASCADE 3D CAD/CAM/CAEアプリケーション向けSDK ( ソース ) LGPL-2.1 cmake
OpenGL 3Dアプリケーション開発のための3D言語、グラフィックスおよびSDK。 Khronos (MIT)
OpenSceneGraph OpenSceneGraphは、オープンソースの高性能3Dグラフィックツールキットであり、視覚シミュレーション、ゲーム、仮想現実、科学技術可視化、モデリングなどの分野でアプリケーション開発者によって使用されています。( Src ) ( Doc ) Custom,
GNU LGPL
cmake, vcpkg
Visionaray C++ レイトレーシングテンプレートライブラリ。 MIT cmake
VTK Visualization Toolkit (VTK) は、科学データを操作および表示するためのオープンソースソフトウェアです。3Dレンダリングのための最先端ツール、3Dインタラクションのためのウィジェットスイート、そして広範な2Dプロット機能を備えています。 BSD-3 cmake, vcpkg
Vulkan 前世代のグラフィックスAPIに見られた多くの抽象化を取り除いた低レベルAPIです。これは最大限のパフォーマンスを提供するのに優れていますが、開発者により多くの複雑さを露呈するという副作用があります。幸いなことに、この障壁をクリアし、迅速に生産性を上げるための優れたチュートリアルがいくつか存在します。 Khronos (MIT) make, vcpkg

画像

ライブラリ 説明 ライセンス 設定
Adobe/boost GIL 2D画像を操作するアルゴリズムに焦点を当てた高レベルな汎用ライブラリ。I/Oオプションは非常に限定的。 BSL-1.0
agge Anti-Grain Evolution。C++における速度と品質を追求した2Dグラフィックスエンジン MIT cmake
FreeImage PNG、BMP、JPEG、TIFFなどの一般的なグラフィック画像フォーマットをサポートしたい開発者のためのオープンソースライブラリプロジェクト GPLv2, GPLv3, FIPL
FreeImageRe Open-SourceライブラリFreeImage v3.18からのフォーク。画像コーデックの更新サポートと使いやすさの調整を目的とする。すべての元のフォーマットとプラグインを維持。 GPLv2, GPLv3, FIPL cmake
GraphicsMagick 88以上の主要フォーマットでの画像の読み込み、書き込み、操作。2002年にImageMagickからフォーク Copyright Mercurial
SAIL 静的、アニメーション、マルチページ画像とそのメタデータ、ICCプロファイルの読み書き。変換機能。シンプルさと速度を目標とする。 MIT cmake
stb 画像ローダー/ライター/リサイザー、フォントテキストラスタライザー、型安全なコンテナ、ogg vorbisデコーダー、リアルタイムDXTコンプレッサー、パーリンノイズジェネレーター、pet DSL用レキサー、高速sprintfなどを特徴とするC/C++ゲーム開発向けライブラリセット。 MIT, Custom header-only
ThorVG Thor Vector Graphicsは、SVGやLottieを含むベクターベースのシーンとアニメーションを描画するために使用される軽量でポータブルなライブラリです。グラフィカルコンテンツを視覚化するために、さまざまなソフトウェアプラットフォームやアプリケーションで自由に利用できます。( Src ) MIT conan, meson, msys2, vcpkg

フォーマット
ライブラリ 説明 ライセンス 設定
djvulibre
imagemagick
Kaitai Struct C++ runtime
libraw
openexr
poppler
qimageblitz
SVG++

プロット
ライブラリ 説明 ライセンス 設定
Matplot++ gnuplot ベースのC++グラフィックスライブラリで、データ可視化を提供します。 Matplot++ は以下のライブラリを活用できます: OpenCV, OpenGL, LAPACK, BLAS, FFTW, JPEG, TIFF, ZLIB, PNG, GLAD, GLFW3. ( ドキュメント ) MIT cmake
plotutils GNU plotutils パッケージには libplot が含まれており、これは2次元ベクターグラフィックスを多くのファイル形式(ベクター形式とビットマップ形式の両方)でエクスポートするためのC/C++ライブラリです。 libplot は2次元ベクターグラフィックスのアニメーション化が可能で、ファイルエクスポートとグラフィックスアニメーションにPostscript風のAPIを使用します。 GPL
sciplot gnuplot を基盤とした現代的なC++科学技術プロットライブラリで、PDF、SVG、PNG、EPSなどへのエクスポート機能を備えています。 MIT ヘッダーのみ; cmake, vcpkg

画像処理

ライブラリ 説明 ライセンス 設定
dlib
Halide 画像とテンソルの高性能処理のためのC++組み込みDSL MIT cmake, vcpkg
ITK - Insight Toolkit ITKはオープンソースのクロスプラットフォームライブラリで、開発者に画像解析のための包括的なソフトウェアツールスイートを提供します。エクストリームプログラミング手法を通じて開発され、ITKは実証済みの空間指向アーキテクチャを基盤とし、2次元、3次元、またはそれ以上の次元の科学画像の処理、セグメンテーション、登録を実現します。 Apache 2.0 cmake
opencv
OTB

国際化

ライブラリ 説明 ライセンス 設定
gettext GNU 国際化ライブラリ GPL make
ICU I nternational C omponents for U nicode は、ソフトウェアアプリケーション向けに Unicode と国際化サポートを提供する成熟した広く使用されている C/C++ ライブラリセットです。( ソース ) icu4c/LICENSE make
spirit-po poファイルを解析し、GNU libintl と類似したインターフェースを提供する小型ライブラリ。boost::spirit ベース BSL-1.0 ヘッダーのみ
uni-algo C/C++ 向け Unicode アルゴリズム実装 MIT/Unlicense cmake, conan, vcpkg

ロギング

ライブラリ 説明 ライセンス 構成方法
Backward カラフルなPython風スタックトレースとソースコードスニペットを表示(特にクラッシュ時) MIT header-only; cmake, conan
Boost.Log シンプルで拡張性が高く、高性能なクロスプラットフォームロギングライブラリ BSL-1.0
clutchlog サービスイベント保存ではなく多様なデバッグを目的としたシングルヘッダーロギングシステム BSD cmake
cpptrace C++11以降向けのシンプルで移植性の高い独立スタックトレースライブラリ。シグナルセーフなスタックトレース、例外時のスタックトレース、ソースコードスニペットなどを含む MIT cmake, conan, vcpkg
glog C++スタイルストリームに基づくC++98向けGoogleロギングライブラリ License bazel, cmake, vcpkg
libassert アサーション失敗時の高品質な診断情報を提供する機能豊富なC++アサーションライブラリ MIT cmake, conan, vcpkg
Log4cplus Java log4j APIをモデルにしたクロスプラットフォームC++17ロギングAPI。スレッドセーフで柔軟性が高く、ログ管理と設定を任意の粒度で制御可能 BSD (two clause) or Apache 2.0 Autotools, cmake, Visual Studio
Log4cpp ファイル、syslog、IDSAなど多様な出力先への柔軟なロギングを実現するC++クラスライブラリ LGPL
log4cxx Apache log4jを模範としたC++向けロギングフレームワーク( Src Apache cmake
lwlog 極めて高速な同期・非同期C++17ロギングライブラリ MIT cmake
Pantheios 型安全性、効率性、汎用性、拡張性を兼ね備えた診断ロギングAPIライブラリ BSD-style
plog 1000行未満のコードで実現された移植性の高いシンプルなC++ログライブラリ MPL-2.0
Quill クロスプラットフォーム対応のC++14非同期 低遅延 ロギングライブラリ MIT cmake
spdlog 超高速C++ロギングライブラリ MIT header-only; cmake, conan

エラーハンドリング

ライブラリ 説明 ライセンス 設定
Boost.LEAF C++11用の軽量エラーハンドリングライブラリ:シングルヘッダー形式、依存関係なし、動的メモリ割り当てなし、例外処理の有無に関わらず使用可能、マルチスレッド対応。 ( ソース ) BSL-1.0 ヘッダーのみ、cmake

数学

ライブラリ 説明 ライセンス 設定
alglib ALGLIBはクロスプラットフォーム(Windows/POSIX/Linux)の数値解析およびデータ処理ライブラリです。ALGLIBの機能には以下が含まれます:データ分析、最適化と非線形ソルバー、補間、線形代数と線形ソルバー、FFTなど。 無料(GPL/個人/学術)および商用
ArrayFire 並列計算のためのクロスプラットフォーム(Windows/OSX/Linux)汎用HPC(CPU/GPU/OpenCL/CUDA/GPGPU)ライブラリ。ArrayFireの領域は:ベクトルアルゴリズム、画像処理、コンピュータビジョン、信号処理、線形代数、統計など。( Src カスタム
Boost.Math 数学領域におけるいくつかの貢献を含む:浮動小数点ユーティリティ、数学定数、統計分布と関数、統計、ベクトル汎関数 - ノルム、特殊関数、根探索と最小化アルゴリズム、多項式と有理関数、補間、数値積分と微分、フィルター、複素数関数、四元数、八元数、整数ユーティリティ(最大公約数と最小公倍数)、級数、有理数と連分数。 BSL-1.0
Boost.Random 一様分布などの有用な特性を持つ乱数を生成するための様々なジェネレーターと分布を提供します。 BSL-1.0
Boost.SafeNumerics C++14、保証された正しい整数演算、組み込み整数型のドロップイン置換。 BSL-1.0 ヘッダーのみ
cpp-measures 物理量を扱うためのC++11ライブラリ MPL-2.0 ヘッダーのみ
G+Smo 等幾何解析のためのクロスプラットフォームライブラリ( Doc MPL-2.0 cmake
GNU MP bignum C++ interface オーバーロードされた関数と演算子を提供するC++便利クラスインターフェース。 GMP は任意精度演算のための無料Cライブラリで、符号付き整数、有理数、浮動小数点数を操作します。 GNU LGPL v3 および GNU GPL v2
libmpdec++ 正しく丸められた任意精度十進浮動小数点演算のためのクロスプラットフォームCライブラリ(C++ラッパー付き)。 BSD-2-Clause make, nmake
NTL 数論を行うためのライブラリ。NTLは高性能で移植性のあるC++ライブラリで、符号付き任意長整数、および整数と有限体上のベクトル、行列、多項式を操作するためのデータ構造とアルゴリズムを提供します。 LGPLv2.1+
PCGrand PCGは、単純で高速で空間効率が良く、統計的に優れた乱数生成アルゴリズムのファミリーです。多くの汎用RNGとは異なり、予測も困難です。 Apache
stats++ 高度で包括的な統計ソフトウェア:データ収集と前処理、統計、機械学習、最適化、オープンC++ソースコード付き。
StatsLib 統計分布関数のテンプレートライブラリ。 Apache-2.0 ヘッダーのみ

オートマトン理論
ライブラリ 説明 ライセンス 設定
yasmine C++11 UMLステートマシンフレームワーク ( ドキュメント ) ( ソース ) ライセンス

数値用クラスライブラリ
ライブラリ 説明 ライセンス 構成
BigNumber 任意長整数の作成と計算のためのC++クラス Apache 2.0 cmake
Boost.Multiprecision マルチプレシジョンライブラリは、C++の通常の基本(組み込み)型よりも 範囲と精度 が高い整数、有理数、浮動小数点数、複素数型を提供します。 BSL-1.0
cln CLNは、任意精度でのあらゆる種類の数値に対する効率的な計算のためのライブラリです。 GPL
CNL C オムポジショナル N ューメリック L イブラリ - 固定精度数値型 BSL-1.0 cmake, conan
fpm C++11 f ィクスト p オイント m ァスライブラリ。整数上で標準ライブラリの浮動小数点機能を提供します。ターゲットプラットフォームにFPUがない場合や、決定論的計算が必要な場合に有用です。 MIT ヘッダーのみ; cmake
Universal Numbers C++17/20テンプレートライブラリ。ネイティブ算術型(整数/10進数/固定小数点/浮動小数点/posit/対数/区間)のプラグイン代替を提供します MIT cmake, vcpkg, conan

計算幾何学
ライブラリ 説明 ライセンス 設定
Boost.Geometry Boost.Geometry(別名 G eneric G eometry L ibrary, GGL)は、幾何学問題を解決するための概念、プリミティブ、アルゴリズムを定義します。Boost.Geometryは、概念、メタ関数、タグディスパッチに基づいた、次元非依存、座標系非依存でスケーラブルなカーネルを含みます。サポートされるアルゴリズムは、面積、長さ、周長、重心、凸包、交差(クリッピング)、包含(ポリゴン内の点)、距離、エンベロープ(バウンディングボックス)、単純化、変換など多岐にわたります。本ライブラリは高精度演算数をサポートします BSL-1.0
CGAL 計算幾何学アルゴリズムライブラリ GPL-3.0 または商用 cmake
PCL ポイントクラウドライブラリ
pmp-library ポリゴンメッシュ処理ライブラリ
Wykobi 計算幾何学ライブラリ

グラフ理論
ライブラリ 説明 ライセンス 設定
Boost.Graph BSL-1.0
CXXGraph グラフ表現、操作、分割、アルゴリズムのためのC++17ライブラリ AGPL-3.0 ヘッダーのみ; cmake
GTpo C++14有向グラフモデリングライブラリ、 QuickQanavaプロジェクト の一部 BSD qmake, cmake
LEMON L イブラリ for E fficient M odeling and O ptimization in N etworks - 組合せ最適化、グラフ、ネットワークに焦点を当てた一般的なデータ構造とアルゴリズムを実装 ( ドキュメント ) ライセンス
NGraph C++のシンプルな(ネットワーク)グラフライブラリ
OGDF O pen G raph algorithms and D ata structures F ramework - グラフアルゴリズム、特に自動グラフ描画のためのC++ライブラリ GPL v2 または v3

線形代数
ライブラリ 説明 ライセンス 設定
Armadillo OpenBLAS、Intel MKL、LAPACK、ATLAS、ARPACK、SuperLU、FFTWのラッパーを備えた線形代数および科学技術計算のためのC++テンプレートライブラリ。機械学習、パターン認識、DSP、バイオインフォマティクス、統計学、金融などに有用。 Apache 2.0
Blasw C++11 BLASおよびLAPACKの一部ラッパー BSD-3-Clause ヘッダーのみ; cmake
Blaze
Blitz++ 高性能な密配列とベクトル、乱数生成器、および小規模ベクトルを提供するC++テンプレートクラスライブラリ。 GPL-3.0, LGPL-3.0, カスタム cmake
Boost.uBLAS 密行列、パック行列、疎行列に対するBLASレベル1、2、3の機能を提供するC++テンプレートクラスライブラリ。式テンプレートを使用。 BSL-1.0
C++ Matrix 高性能で正確な(エッジケースなど)行列数学ライブラリ、式テンプレート算術演算子を備える BSD-3-Clause cmake, make
DecompLib ベクトルを正定値重み付き基底ベクトルの集合に分解するためのC++11ライブラリ。 MIT ヘッダーのみ
Dlib - linear algebra tools
Eigen 行列、ベクトル、数値ソルバー、および関連アルゴリズムのためのC++テンプレート線形代数ライブラリ。 MPL2 cmake, conan
ETL
IT++
Matrix LinuxおよびWindowsで利用可能な、使いやすい科学技術計算ライブラリ(C++用/で)。 MIT cmake
NumCpp PythonのNumPyを実装したC++テンプレートライブラリ MIT ヘッダーのみ; cmake, vcpkg, conan
PETSc 偏微分方程式でモデル化された科学技術アプリケーションの並列解法のためのデータ構造とルーチンのスイート。MPI、CUDAまたはOpenCLを介したGPU、およびハイブリッドMPI-GPUをサポート。
Spectra Sp E 固有値 C 計算 T ツールキットとして R 再設計された A RPACKは、大規模固有値問題のためのオープンソースC++ライブラリであり、 Eigen 線形代数ライブラリ(同様にオープンソースでヘッダーのみ)上に構築されています。( ソース MPL-2.0 ヘッダーのみ; cmake, vcpkg
Tense 高速なC++17式テンプレート行列およびテンソルライブラリ BSD-3-Clause ヘッダーのみ; cmake
xtensor 多次元配列式による数値解析のためのC++ライブラリ。 BSD

(注:指定されたテキスト内に翻訳対象となる可読テキストが存在しないため、元のHTML構造をそのまま保持しています)
機械学習
ライブラリ 説明 ライセンス 構成
Dlib 機械学習ツール
FANN F ast A rtificial N eural N etwork ライブラリ
gaenari C++17ベースのインクリメンタル決定木 Apache-2.0 cmake
liblinear
libtorch 人気のPyTorch PythonライブラリへのC++フロントエンド(バックエンドはC++で記述) BSDスタイル cmake
MLPACK 機械学習パッケージ
Shogun 大規模機械学習ツールボックス
stats++
tensorflow 誰もが使えるオープンソース機械学習フレームワーク;安定した C++ API を提供し、主にC++で記述 Apache-2.0 bazel

(注:指定されたテキスト部分には翻訳対象の自然言語テキストが含まれていないため、HTML構造のみが保持されています)
数値計算
ライブラリ 説明 ライセンス 設定
LibBF Bellardによって開発された任意精度数値計算ライブラリで、 π を数十億ビットまで計算するサンプルプログラムを含む MIT

最適化
ライブラリ 説明 ライセンス 設定
ceres-solver 大規模で複雑な最適化問題のモデリングと解決のためのオープンソースC++ライブラリ。機能豊富で成熟しており、高性能なライブラリであり、2010年からGoogleで本番環境で使用されている。 Apache cmake, conan
OptimLib 非線形関数のための数値最適化手法のC++11ライブラリ。

記号式操作
ライブラリ 説明 ライセンス 設定
CasADi 非線形最適化とアルゴリズム微分のための記号的フレームワーク。記号式のためのC++コード生成と、コンパイルされた生成コードの動的接続をサポート。 LGPLv3.0 cmake
ExprTk C++ Mathematical Expression Toolkit Library (ExprTk) は、シンプルで使いやすく、統合が容易で、非常に効率的な実行時数学式パーサーおよび評価エンジン。ExprTkは、関数型、論理型、ベクトル処理セマンティクスの多数の形式をサポートし、非常に拡張性が高い。 MIT header-only
GiNaC 記号操作を、計算集約的な数値アプリケーションやグラフィカルインターフェースなど、確立されたコンピュータサイエンスの分野と統合したシステムを作成するためのライブラリ。 GPLv3
mathiu.cpp C++17によるシンプルな計算機代数システム Apache-2.0 cmake
SEMT コンパイル時記号微分 License make
SymbolicC++ 汎用計算機代数システム GPLv2 autoconf
SymCC コンパイル中にプログラムに記号実行を組み込むコンパイララッパーと、関連する実行時サポートライブラリ。本質的に、コンパイラはプログラム内の各値に対する記号式を計算するコードを挿入する。実際の計算は実行時にサポートライブラリへの呼び出しを通じて行われる。 GPLv3 cmake
SymEngine スタンドアロンの高速C++記号操作ライブラリ。 MIT cmake
ViennaMath 実行時およびコンパイル時に数学式の便利なインスタンス化、操作、評価を可能にする記号数学ライブラリ。 MIT cmake

メタプログラミング

ライブラリ 説明 ライセンス 構成
Boost.CallableTraits すべての「呼び出し可能」型に対するコンパイル時検査と操作のためのC++11/17ライブラリ。Boost.FunctionTypesの後継。 BSL-1.0 ヘッダーのみ
Boost.Hana 型と値の両方に対する新しいメタプログラミングライブラリ BSL-1.0
Boost.Metaparse コンパイル時文字列から型、値、メタ関数を生成するコンパイル時パーサーライブラリ BSL-1.0
Boost.Mp11 型を含むデータ構造のコンパイル時操作のためのC++11メタプログラミングライブラリ BSL-1.0 ヘッダーのみ
Boost.MPL オリジナルのメタプログラミングライブラリ、C++03を対象、低速 BSL-1.0
Boost.PFR 基本的なリフレクションのためのC++14ライブラリ(マクロなし):インデックスによるユーザー定義型のメンバー訪問、IOストリーミング BSL-1.0 ヘッダーのみ
Boost.Proto 式テンプレートを基盤としたEDSLを構築するためのライブラリ BSL-1.0
Brigand 積極的メタ関数を使用し、最高のパフォーマンスに最適化
CoMeta 軽量なC++14メタプログラミングライブラリ ヘッダーのみ
Meta 積極的メタ関数を使用し、パフォーマンスに関してmetalとbrigandの中間
Metal 積極的メタ関数を使用し、100% SFINAEフレンドリー
refl-cpp オーバーロード、テンプレート、属性、プロキシをサポートする現代的なコンパイル時リフレクションライブラリ
Refureku C++17ランタイムリフレクションとコード生成ライブラリ MIT cmake
visit_struct ミニチュアリフレクションライブラリ、C++11/14の構造体ビジターを提供。自己完結型、カウント方法により200-400行のコード

PDF

ライブラリ 説明 ライセンス 設定
HARU PDFファイル生成のための無料、クロスプラットフォーム、オープンソースライブラリ ( ドキュメント ) ( ソース ) Zlib cmake
JagPDF PDF生成のための無料オープンソースライブラリ ( ドキュメント ) MIT
PoDoFo PDFを扱うための無料ポータブルC++17ライブラリ LGPL-2.0 cmake, conan, vcpkg
PDF-Writer PDFファイルの作成、 編集 および解析のための高性能C++ライブラリ Apache-2.0 cmake, conan, vcpkg

物理とシミュレーション

ライブラリ 説明 ライセンス 設定
Bullet ゲーム、視覚効果、ロボティクス、強化学習のための物理シミュレーション
HELICS 異なる種類のシミュレータ間で時間を同期しデータを交換するための協調シミュレーションフレームワーク BSD 3-Clause "New" or "Revised" cmake
ProjectCHRONO オープンソースのマルチフィジックスシミュレーションエンジン
ReactPhysics3D 3DシミュレーションとゲームのためのC++物理エンジンライブラリ

ロボティクス

知覚
ライブラリ 説明 ライセンス 設定
GTSAM センサーフュージョン、SLAM、SFM、VO、コンピュータビジョン ( Src ) BSD cmake
opencv コンピュータビジョンと知覚、キャリブレーション、特徴マッチング ( Src ) ( Doc ) BSD, Apache 2 cmake

シリアライゼーション

ライブラリ 説明 ライセンス 設定
Boost.Serialization BSL-1.0
C++ XML objects
cereal C++11 シリアライゼーション BSD
cista シンプルで高性能、ゼロコピーのC++シリアライゼーション&リフレクションライブラリ ( ソース ) MIT cmake
cppcodec base64、base32、hexのエンコード/デコードを行うC++11ライブラリ。一貫性のある柔軟なAPIを提供 MIT ヘッダーのみ
GPDS オブジェクトをXMLとの間でシリアライズする汎用データシリアライザ。内部でTinyXMLを使用
gSOAP 正確なXMLシリアライゼーション
iguana C++17で開発されたモダンで汎用的かつ使いやすいシリアライゼーションエンジン。コンパイル時リフレクションに基づく。対応フォーマット: JSON、XML、ユーザー定義 Apache-2.0 cmake
jios JSONシリアライゼーション MIT cmake
protobuf Protocol Buffers(protobuf)はGoogleの言語中立、プラットフォーム中立、拡張可能な構造化データシリアライゼーションメカニズム。.protoファイルコンパイラを含む ( ドキュメント ) カスタム bazel, cmake
rpnx-serial std::map std::vector などの型を(デ)シリアライズできるライブラリ
Serio 高速軽量なC++シリアライゼーションライブラリ BSD-3-Clause ヘッダーのみ; cmake
ThorsSerializer JSON用のC++シリアライゼーションライブラリ MIT make
yaml-cpp
YAS Y et A nother S erializationは、サードパーティライブラリに依存しないC++11ライブラリ。アーカイブ形式はバイナリ、テキスト、JSONに対応 Boost ヘッダーのみ

バイナリシリアライゼーション
ライブラリ 説明 ライセンス 構成
binn コンパクトで高速、使いやすいバイナリシリアライゼーションライブラリ。同名フォーマットの実装。
blobify 構造体定義のみからシリアライズされたレイアウトを推測するC++17ライブラリ Boost header-only; cmake
bson-cxx BSON フォーマットのC++11実装 scons
fast_ber BER/DERエンコーディングルールを使用したC++11高性能シリアライゼーション。エンコーディングレイアウトはASN.1スキーマで定義
UBjsonCpp C++14ベースの高性能UBJson読み書きライブラリ

ソート

ライブラリ 説明 ライセンス 設定
Cpp-sort 様々なソートアルゴリズムを集めたシンプルなパッケージ MIT
Indiesort 非ランダムアクセスコンテナで std::sort などのランダムアクセスソート関数を使用可能にする関数テンプレート。また、ランダムアクセスコンテナや配列での大規模オブジェクトのソート性能も向上させる zlib
Timsort 安定ソート関数テンプレート。逆順または半ソート済みデータに対して、 std::sort を含むクイックソートベースのアルゴリズムを凌駕する性能を発揮する MIT

システム

ライブラリ 説明 ライセンス 設定
Infoware コマンドラインを使用せずにシステムおよびハードウェア情報を取得するためのC++ライブラリ Creative Commons v1.0 cmake

ターミナル

ライブラリ 説明 ライセンス 構成
cli 現代的なC++のためのクロスプラットフォーム対話型コマンドラインインターフェースライブラリ。 BSL-1.0 header-only; cmake, make, nmake, vcpkg
cwidget GTK+とQtをモデルにしたC++向け高レベル端末インターフェースライブラリ。表示層には curses を使用 GPL v2.0 make
replxx UTF-8、シンタックスハイライト、ヒント機能をサポートするreadlineとlibeditの代替ライブラリ。

テスト

ライブラリ 説明 ライセンス 設定
bandit C++11向けの人間に優しいユニットテストフレームワーク ( ソース ) MIT cmake
Boost.Test 幅広いプラットフォームとコンパイラで利用可能なC++03/11/14/17ユニットテストライブラリ ( ソース ) BSL-1.0 cmake, b2
Catch2 ユニットテスト、TDD、BDDのためのモダンなC++ネイティブテストフレームワーク - C++14、C++17以降を使用 Boost cmake
cppunit 有名なJUnitフレームワークのC++ポート LGPL-2.1 make
CUTE C ++ U nit T esting E asier(登録に静的初期化に依存しない)、 Cevelop に統合されたTDD用フレームワーク MIT ヘッダーのみ
doctest ユニットテストとTDDのための最も軽量で機能豊富なC++シングルヘッダーテストフレームワーク MIT ヘッダーのみ; cmake
ELFspy フェイクとスパイを使用した隔離テスト - Linux専用 GPL-2.0 make
faker-cxx テストデータ生成のためのモダンなC++20 Fakerライブラリ MIT cmake
Google Test Google Testing and Mocking Framework ( ソース ) BSD 3-Clause "New" or "Revised" bazel, cmake
lest ユニットテスト、TDD、BDDのためのC++11ネイティブの小型フレームワーク(C++98バリアントを含む) Boost ヘッダーのみ; cmake
liblittletest ポータブルなテストフレームワーク LGPL-2.1 ヘッダーのみ
snitch 軽量なC++20テストフレームワーク Boost cmake
tunit Windows、macOS、Linux、iOS、Android向けのモダンなC++17ユニットテストライブラリ 公式サイト MIT cmake

テキスト

(注:元のテキストに翻訳対象となる実際のコンテンツが含まれていないため、HTML構造のみを保持しています)
コーディング
ライブラリ 説明 ライセンス 設定
strsuite 異なるエンコーディングの文字列を管理するC++20ライブラリ LGPL3.0 cmake
uchardet 文字列のエンコーディングを推定するライブラリ。基本的にPythonの uchardet 関数と同じ機能を提供します。 MOZILLA PUBLIC LICENSE v1.1 cmake
win-iconv LinuxとMac向けの文字セットエンコーディング変換ライブラリ。Windows版の iconv 実装はWin32文字セット変換APIに基づいています。 public domain cmake

差分/パッチ
ライブラリ 説明 ライセンス 設定
diff_match_patch 文字列用のパッチを作成および適用(Qtが必要) Apache 2.0 qmake

形式
ライブラリ 説明 ライセンス 設定
coformat テキストの色付けとスタイリングを可能にする std::format のコンパニオンC++ライブラリ。 public domain header-only
fmt C stdioとC++ iostream の高速かつ安全な代替を提供するオープンソースのフォーマットライブラリ。C++20 std::format ファミリーのプロトタイプ。 License cmake, conan

解析
ライブラリ 説明 ライセンス 構成
BNFlite 軽量な文法パーサーライブラリ MIT header-only
Boost.Spirit Expression templatesとTemplate Meta-Programmingを使用して D omain S pecific E mbedded L anguages (DSEL)として実装された、パースと出力生成のためのC++17ライブラリセット。Spiritライブラリはターゲット文法を完全にC++で記述することを可能にする。( Src ) ( Doc ) BSL-1.0 cmake
CTRE 高速な C ompile- T ime R egular E xpressionsで、コンパイル時または実行時のマッチング/検索/キャプチャをサポート。 Apache-2.0 header-only, cmake, vcpkg
lexy 便利なC++ DSLでパーサーを記述できるC++17パーサーコンビネーターライブラリ。手書きパーサーの柔軟性と制御性を全て備える。UTF-8/16/32をサポート。( Doc ) BSL-1.0 cmake
PEGTL P arsing E xpression G rammar T emplate L ibraryは、ゼロ依存のC++17 header-onlyパーサーコンビネーターライブラリで、 Parsing Expression Grammar (PEG)に従ってパーサーを作成する。 Boost header-only

検索
ライブラリ 説明 ライセンス 設定
clucene CLuceneはクロスプラットフォームで、機能豊富なオープンソースのインデックス作成および検索エンジン/APIです。( ソース ) ( ドキュメント ) LGPL v2.1 cmake
Step20 Suffix tree 構築のためのUkkonenのオンラインアルゴリズム、 Suffix array 構築のためのManberのアルゴリズム。 MIT header-only
xapian インデックス作成機能を備えたオープンソースの検索エンジン( ソース ) ( ドキュメント ) GPL v2+ make

(注:指定されたテキスト部分に翻訳対象となる可読テキストが含まれていないため、HTML構造のみを保持した状態で返却します)
テンプレートエンジン
ライブラリ 説明 ライセンス 構成
inja C++17向けテンプレートエンジン MIT ヘッダーのみ; cmake, conan, vcpkgなど
Jinja2C++ Jinja2テンプレートのC++14/17実装 MPL-2.0 cmake, conan

バージョン管理

ライブラリ 説明 ライセンス 設定
coo-semver セマンティックバージョン番号のためのC++操作ライブラリ
LibGit2 バージョン管理システムGitのコアライブラリ

ビデオ

ライブラリ 説明 ライセンス 設定
crystalhd
gstreamermm
libmatroska
libVLC
mjpegtools
OpenH264 マルチプラットフォーム、マルチアーキテクチャのオープンソースライブラリで、H.264エンコーディングとデコーディングをサポートします ( ソース ) BSD-2 Clause meson

Web

ライブラリ 説明 ライセンス 設定
Chromium Embedded
cpp-jwt
Drogon Linux/macOS/Unix/Windows上で動作するC++14/17ベースのHTTPウェブアプリケーションフレームワーク。
ffead-cpp C ++における エンタープライズアプリケーション開発 のための フレームワーク 、HTTP1/HTTP2/HTTP3準拠、複数のサーバーバックエンドをサポート Apache 2.0 cmake
libhttpserver 高性能なRESTfulウェブサーバーを構築するためのC++ライブラリ。 libmicrohttpd を基盤として、C++でHTTPサービスを作成するためのシンプルなAPIを開発者に提供。 LGPL-v2.1 autotools
libkcddb
liblastfm
libmusicbrainz5
libnavajo
Molybden HTML/CSS/JS GUIを使用したクロスプラットフォームC++デスクトップアプリを構築するためのSDK( ドキュメント )( ソース ライセンス npm
oatpp IoTおよび高性能ウェブサービスのための強力でポータブルな軽量かつゼロ依存のウェブフレームワーク。
QtWebApp Java ServletsにインスパイアされたC++でのHTTP(s)サーバー
Tufão Qtを基盤として構築されたC++11用非同期ウェブフレームワーク( ドキュメント LGPL-2.1, GPL-2.0 cmake
uri-template C++用URIテンプレート展開およびリバースマッチング Apache 2.0 cmake
userver C++非同期フレームワーク Apache 2.0 cmake
Wt ウェブアプリ用ウィジェットとビルディングブロック、組み込みセキュリティ、PDFレンダリング、2Dおよび3Dペインティング、ORM、チャート作成、認証フレームワーク( ドキュメント )( ソース GNU GPLまたは商用ライセンス

関連項目

C documentation for Non-ANSI/ISO Libraries

外部リンク

1. C++ 単体テストフレームワークの一覧 — Wikipedia にて
2. 厳選された (awesome) ヘッダーのみの C++ ライブラリ一覧 — GitHub にて
3. 厳選された (awesome) C++ および C ライブラリ一覧 — GitHub にて
4. Boost C++ ライブラリ — Boost.org にて
5. 膨大な C++ オープンソースゲームとフレームワークの一覧 — GitHub.io にて