c++ - 为 iOS 4.x 使用 Boost 和 C++0x 方言

标签 c++ ios boost c++11 clang

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

我尝试启用 C++0x 方言,但我从 Boost 中遇到了很多编译错误。我能够让它工作的唯一方法是同时启用 libc++,这反过来又需要将部署目标设置为 iOS 5。

有没有办法让 Boost 和 C++0x 方言与默认的 libstdc++ 兼容?一些 Boost #defines 可以解决这个问题吗?我应该等待 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++ 标准库设置为默认值(库 stdc++)。包括 Boost 在内的一切都可以编译和工作,我可以在我的项目中使用 C++11 特性。

关于c++ - 为 iOS 4.x 使用 Boost 和 C++0x 方言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8101065/

相关文章:

c++ - 从 32 位进程调用 64 位 dll 上的 LoadLibrary

android - 使用 Android 和 iOS 在 Nodejs 中推送通知系统

ios - 在 Swift 中从字符串中提取某些文本

regex - 如何在 Ubuntu 上使用 Netbeans 6.9 配置 Boost

c++ - 从 BOOST 或 C++14 类中删除 ACE_Singleton 和其他一些 Singleton 类

c++ - Functions子手w/函数-编译错误-没有匹配的调用

c++ - 为什么#include 这个文件不止一次出现链接器错误?

c++ - 在多重继承中覆盖函数的语法

ios - 从 collectionView 显示时获取单元格的 indexPath

c++ - boost recursive_wrapper 递归