命名空间“std”中没有名为“shared_ptr”的类型
Posted
技术标签:
【中文标题】命名空间“std”中没有名为“shared_ptr”的类型【英文标题】:no type named 'shared_ptr' in namespace 'std' 【发布时间】:2012-10-10 12:56:12 【问题描述】:希望这对其他人有所帮助
尝试使用 Cedar BDD 编译 ios 项目一直失败,在命名空间“std”错误消息中没有名为“shared_ptr”的类型。 这显然是一个 C++ 错误,但无法理解为什么 Xcode 使用的 C++ 库没有定义;直到我发现目标的构建设置提供了两个库可供选择时才定义 shared_ptr 类型
libstdc++(编译器默认) libc++【问题讨论】:
【参考方案1】:选择 libc++ 解决问题见截图
【讨论】:
【参考方案2】:Apple 发布了一个不支持 C++11 的 非常 旧版本的 libstdc++,因此如果您使用 libstdc++,则无法使用 C++11 功能。
【讨论】:
【参考方案3】:在xcode中你必须使用#include <memory>
,你不能使用#include <memory.h>
。请检查这个。
【讨论】:
以上是关于命名空间“std”中没有名为“shared_ptr”的类型的主要内容,如果未能解决你的问题,请参考以下文章
命名空间“std”中没有名为“make_unique”的成员
错误:命名空间“std”中没有名为“remove_cv_t”的模板;你是说'remove_cv'吗?
错误:命名空间“std”中没有名为“enable_if_t”的模板;你是说'enable_if'吗?