在iOS 4.x中使用Boost和c++ 0x方言

Use Boost and C++0x dialect for iOS 4.x

本文关键字:Boost c++ 0x 方言 iOS      更新时间:2023-10-16

我有一个主要使用c++的iOS项目。它使用Boost 1.47.

我试图启用c++ 0x方言,但我从Boost得到了许多编译错误。我能让它工作的唯一方法是同时启用libc++,这反过来要求部署目标设置为iOS 5。

是否有一种方法使Boost和c++ 0x方言与默认的libstdc++兼容?一些Boost #定义可以修复这个问题吗?我应该等待Boost 1.48还是干脆忘记它?

如果我将"BOOST_NO_VARIADIC_TEMPLATES"添加到预处理器宏设置中,则可以正常使用Boost 1.48。

配置总结:使用iOS SDK 5.0, XCode 4.2.1,目标是iOS 4.3, Boost 1.48, BOOST_NO_VARIADIC_TEMPLATES定义,LLVM 3.0, c++语言方言设置为c++ 0x, c++标准库设置为默认(libstdc++)。包括Boost在内的所有东西都可以编译和工作,并且我可以在我的项目中使用c++ 11的特性。