我有一个主要使用C++的iOS项目。它使用Boost 1.47。
我尝试启用C++ 0x方言,但Boost出现了许多编译错误。我能够使其工作的唯一方法是同时启用libc++,这又需要将部署目标设置为iOS 5。
有没有办法使Boost和C++ 0x方言与默认的libstdc++兼容?某些Boost #define可以解决此问题吗?我应该等待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功能。
关于c++ - 针对iOS 4.x使用Boost和C++ 0x方言,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8101065/