{"id":18103581,"url":"https://github.com/mgrebenets/boost-xcode5-iosx","last_synced_at":"2025-04-13T19:26:10.414Z","repository":{"id":11545980,"uuid":"14031326","full_name":"mgrebenets/boost-xcode5-iosx","owner":"mgrebenets","description":"Build boost framework for iOS and OSX with Xcode 5 (armv7, armv7s, arm64, i386, x86_64)","archived":false,"fork":false,"pushed_at":"2017-08-25T08:34:41.000Z","size":42,"stargazers_count":43,"open_issues_count":4,"forks_count":29,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-03-27T10:08:17.697Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mgrebenets.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-10-31T23:54:15.000Z","updated_at":"2024-03-14T21:06:57.000Z","dependencies_parsed_at":"2022-08-31T06:41:11.275Z","dependency_job_id":null,"html_url":"https://github.com/mgrebenets/boost-xcode5-iosx","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgrebenets%2Fboost-xcode5-iosx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgrebenets%2Fboost-xcode5-iosx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgrebenets%2Fboost-xcode5-iosx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgrebenets%2Fboost-xcode5-iosx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mgrebenets","download_url":"https://codeload.github.com/mgrebenets/boost-xcode5-iosx/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248766906,"owners_count":21158346,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-31T22:12:35.667Z","updated_at":"2025-04-13T19:26:10.392Z","avatar_url":"https://github.com/mgrebenets.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"Build Boost Framework for iOS \u0026 OSX\n=====\n###### Using Xcode5 (armv7, armv7s, arm64, i386, x86_64)\n\n\u003e For a better way to build the framework using `Makefile` checkout [makefile](https://github.com/mgrebenets/boost-xcode5-iosx/tree/makefile) branch of this repository.\n\n### Boost Source\nScript will download source code tarball if it isn't available in the root directory.\n\n* [boost downloads](http://www.boost.org/users/download/)\n* [1.53.0](https://sourceforge.net/projects/boost/files/boost/1.53.0/)\n* [1.54.0](https://sourceforge.net/projects/boost/files/boost/1.54.0/)\n* [1.55.0](https://sourceforge.net/projects/boost/files/boost/1.55.0/) - untested!\n\nYou may get the sources manually as well. The script is expecting `bz2` tarball. Put the tarball in the same folder with `boost.sh`.\n\nMake sure you keep the tarball name unchanged, so it is like `boost_1_53_0.tar.bz2`.\n\n### Build\nUse `boost.sh` to build boost framework.\nRun `boost.sh -h` to get help message.\n\nSet `BOOST_LIBS` environment variable with list of libraries that you need.\nBy default the script will build `serialization`, `thread`, `system` and `locale` for demo project.\n\nExamples:\n\n    # clean build version 1.53.0 for ios and osx with c++11\n    # libraries: thread, system and locale\n    BOOST_LIBS=\"thread system locale\" ./boost.sh clean --with-c++11 -v 1.53.0\n\n    # build version 1.54.0 for ios and osx without c++11, no clean\n    # libraries: system only\n    BOOST_LIBS=\"system\" ./boost.sh --version 1.54.0\n\n## Troubleshooting\n### Undefined symbols link error\nIf you use libraries like `serialization` you might see link errors in Xcode 5 especially when the framework was built using `--with-c++11` flag.\n\n    Undefined symbols for architecture i386:\n    \"std::__1::__vector_base_common\u003ctrue\u003e::__throw_length_error() const\", referenced from:\n    void std::__1::vector\u003cboost::archive::detail::basic_iarchive_impl::cobject_id, std::__1::allocator\u003cboost::archive::detail::basic_iarchive_impl::cobject_id\u003e \u003e::__push_back_slow_path\u003cboost::archive::detail::basic_iarchive_impl::cobject_id\u003e(boost::archive::detail::basic_iarchive_impl::cobject_id\u0026\u0026) in boost(libboost_serialization_basic_iarchive.o)\n\nYou have to change your project or target build settings.\n\nUnder *Apple LLVM 5.0 - Language - C++* make the following changes\n\n* *C++ Language Dialect* set to *C++11 [-std=c++11]*\n* *C++ Standard Library* set to *libc++ (LLVM C++ standard library with C++11 support)*\n\n### Parse errors when including `boost/type_traits.hpp`\nIf you happen to include `\u003cboost/type_traits.hpp\u003e` header file, you may see compile errors like this\n\n    Unexpected member name of ';' after declaration specifiers\n\nTo fix this problem, include the following line in your porject `***-Prefix.pch` file.\n\n    #define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0\n\n## Header-Only Libraries\nMost of the boost libraries are header-only, meaning you only need to include header files to make them work.\nHowever, there is a [list of libraries](http://www.boost.org/doc/libs/1_55_0/more/getting_started/unix-variants.html#header-only-libraries) that need to be built for your target platform.\nCheck the link above and modify `BOOST_LIBS` in `boost.sh` to include or exclude the libraries for your project.\n\n## Notes and Changes\n### `ar` for Simulator Dev Tools\nIn Xcode 5 there's no `ar` excutable in `SIM_DEV_DIR` so using `/usr/bin/ar` instead.\n\n## Demo\nCheck out [this demo project](https://github.com/mgrebenets/boost-xcode5-demo) for some examples.\n\n## Why not Using Cocoapods?\nI tried to use [cocoapods spec for boost](https://github.com/CocoaPods/Specs/tree/master/boost).\nHowever, there's a number of things that made me to switch to using framework instead.\n* It doesn't include all the subspecs you might need for development\n* It takes really long time to update every time you run `pod update` or `pod install` (given that you have modified `Podfile`)\n  * The tarball is downloaded (50+ mb)\n  * The tarball is unpacked\n* There's podspec for 1.51.0 only\n* You can't use the Pod if you need libraries like `serialization`\n  * `serialization` has to be linked as a library, it doesn't work like the rest of the boost libraries by just including hpp headers inline. It needs to be compiled for your target platform.\n\n## References and Attribution\nThis repo is practially a fork of https://github.com/wuhao5/boost.\nOnly this one does not contain boost source code, thus is more lightweight.\n\nThe script mentioned above in it's turn is based on great work by Pete Goodliffe\n\n* https://gitorious.org/boostoniphone\n* http://goodliffe.blogspot.com.au/2010/09/building-boost-framework-for-ios-iphone.html\n* http://goodliffe.blogspot.com.au/2009/12/boost-on-iphone.html\n\nAnd lots of contributions by other people.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmgrebenets%2Fboost-xcode5-iosx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmgrebenets%2Fboost-xcode5-iosx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmgrebenets%2Fboost-xcode5-iosx/lists"}