Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time

Linux Windows macOS GCC10


a C++ library to parse EBML files

Specifications may be rendered at

Building and installing

Building and installing the library

libebml is based on cmake and requires only a C++ compiler supporting at least the C++14 standard. This means that the normal build process consists of the usual steps:

  1. Create a build directory: mkdir build ; cd build
  2. Generate the make file: cmake ..
  3. Compilation: make
  4. Installation (run this as root): make install

Customizing what's build with options

By default only a static library is built.

This library supports the usual cmake options for specifying installation paths (e.g. -DCMAKE_INSTALL_PREFIX=/opt/libebml). The following additional cmake options are supported:

  • -DDISABLE_PKGCONFIG=YES — don't generate and install the libebml.pc package configuration module for pkg-config
  • -DDISABLE_CMAKE_CONFIG=YES — don't generate and install the package configuration module for cmake. Note that building libebml requires that the cmake configuration is available.
  • -DBUILD_SHARED_LIBS=YES — build the shared library instead of the static one (default: no)

Code of conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Included third-party components and their licenses


UTF-8 with C++ in a Portable Way

  • Copyright: 2006 Nemanja Trifunovic
  • License: BOOST (see src/lib/utf8-cpp/source/utf8.h)
  • URL:
  • Corresponding files: src/lib/utf8-cpp/*