← Back

ofxiosboost

github.com/maddanio/ofxiosboost · @maddanio

This is a confirmed fork of ofxiOSBoost.

OF 0.12 iOS Utilities

An openFrameworks iOS addon providing pre-compiled Boost C++ libraries (1.60.0) for Xcode projects.

1 0 Last commit 2y ago Created 9y ago

README

#ofxiOSBoost for Boost 1.60.0 image



Boost C++ Libraries 1.60.0 Pre-compiled for iOS

image

============

Where to checkout?





============

How To Link to an Xcode Project?



In Xcode Build Settings for your project:

`$(SRCROOT)/../../../addons/ofxiOSBoost/libs/boost/include

In Xcode for a Build Target select the Target under Build Phases

  • Add to 'Link Binary With Libraries' the
libboost.a
` found in the `ofxiOSBoost/libs/boost/lib/ios` directory. If not openFrameworks just add the ` libs/boost/include ` to Header Search Paths and the ` libs/boost/ios ` to Library Search Paths

============

Architectures in Pre-Build Library (Fat Lib)

See the other branches on this repository (All libc++ std=c11)

Check Apple's Hardware sheet if you need to verify: Apple's Device compatibilty Matrix

** Armv7s has been removed due to Apple phasing our the requirement from the STANDARD_ARCHITECTURES.

============

For tvOS - Checkout the ofxtvOSBoost repo:

  • https://github.com/danoli3/ofxtvOSBoost
============

How to Build?



1. You don't need to. This has the pre-compiled versions of BOOST for you to use 2. If you would prefer to build it yourself checkout the script included in the
` scripts ` directory.

=============

How to use Build Script



Build with Bitcode Embedded:

Alternative Build Script:

  • Build using libstdc++ by running the scripts/build-libstdc++

Clean script



============

Documentation on Boost 1.60.0



See: http://www.boost.org/users/history/version_1_60_0.html

Version 1.60.0 (Date): December 17th, 2015 15:52 GMT



============

Troubleshooting:



Undefined symbols link error (For libc++ release)

If you use libraries like
serialization you might see link errors in Xcode 6 especially when the framework was built using --with-c++11 flag.
    Undefined symbols for architecture i386:
    "std::1::vector_base_common<true>::__throw_length_error() const", referenced from:
    void std::1::vector<boost::archive::detail::basic_iarchive_impl::cobject_id, std::1::allocator<boost::archive::detail::basic_iarchive_impl::cobject_id> >::__push_back_slow_path<boost::archive::detail::basic_iarchive_impl::cobject_id>(boost::archive::detail::basic_iarchive_impl::cobject_id&&) in boost(libboost_serialization_basic_iarchive.o)


You have to change your project or target build settings.

Under Apple LLVM 6.0 - Language - C++ make the following changes

`C++ Language Dialect` to `C++11 [-std=c++11]
C++ Standard Library
` to `libc++ (LLVM C++ standard library with C++11 support)`

Parse errors when including boost/type_traits.hpp

If you happen to include <boost/type_traits.hpp> header file, you may see compile errors like this

Unexpected member name of ';' after declaration specifiers

To fix this problem, include the following line in your porject
***-Prefix.pch` file.

#define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0

Get this addon

HTTPS
SSH