Skip to content

Builds Boost C++ libraries and packages them as XCFrameworks for iOS (simulator and device), visionOS (simulator and device), macOS, and Mac Catalyst (Intel & Apple Silicon M1).


Notifications You must be signed in to change notification settings


Folders and files

Last commit message
Last commit date

Latest commit



64 Commits

Repository files navigation

Boost C++ for iOS, visionOS, macOS (Intel & Apple Silicon M1) & Catalyst - arm64 / x86_64

Supported versions: 1.85.0, 1.84.0, 1.83.0, 1.82.0, 1.81.0, 1.80.0, 1.79.0, 1.78.0, 1.77.0, 1.76.0, 1.75.0 (use the appropriate tag or branch to choose a version)

This repo provides a universal script for building static Boost C++ libraries for use in iOS, visionOS, and macOS & Catalyst applications. The latest supported Boost version is taken from:

Building libraries

atomic, charconv, chrono, cobalt (requires apple clang-15.0.0 or later), container, context, contract, coroutine, date_time, exception, fiber, filesystem, graph, iostreams, json, locale, log, math, nowide, program_options, random, regex, serialization, stacktrace, system, test, thread, timer, type_erasure, url, wave

Not building libraries

graph_parallel, mpi, python


  1. Xcode must be installed because xcodebuild is used to create xcframeworks
  2. xcode-select -p must point to Xcode app developer directory (by default e.g. /Applications/ If it points to CommandLineTools directory you should execute: sudo xcode-select --reset or sudo xcode-select -s /Applications/
  3. You should not have your own user-config.jam file in your home directory!
  4. For the creation of visionOS related artifacts and their integration into the resulting xcframeworks, XROS.platform and XRSimulator.platform should be available in the folder: /Applications/

Building notes

  1. The 'locale' and 'regex' libraries are built using the ICU backend. ICU build scripts are taken from and run using the 'pod' utility.
  2. The 'test' library is built for iOS with the BOOST_TEST_NO_MAIN flag.

How to build?

  • Manually
    # clone the repo
    git clone
    # build libraries
    cd boost-iosx

    # have fun, the result artifacts will be located in 'frameworks' folder.
    # Then you can add desirable xcframewors in your XCode project. The process is described, e.g., at
  • Use cocoapods. Add the following lines into your project's Podfile:

    pod 'boost-iosx'
    # or optionally more precisely, e.g.:
    # pod 'boost-iosx', :git => ''

If you want to use particular boost libraries, specify them as in the following example for log and program_options libraries:

    pod 'boost-iosx/log'
    pod 'boost-iosx/program_options'

    # note: Some libraries depend on other Boost libraries. In this case, you should explicitly add all their dependencies to your Podfile.

Then install new dependencies:

   pod install --verbose

As an advertisement…

The Boost libraries built by this project are used in my iOS application on the App Store:

HEX File Viewer & Editor

This application is designed to view and edit files at the byte or character level; calculate different hashes, encode/decode, and compress/decompress desired byte regions.

You can support my open-source development by trying the App.

Feedback is welcome!


Builds Boost C++ libraries and packages them as XCFrameworks for iOS (simulator and device), visionOS (simulator and device), macOS, and Mac Catalyst (Intel & Apple Silicon M1).







Sponsor this project



No packages published