命名空间 'std' 中没有名为 'shared_ptr' 的类型。

4

希望这能对其他人有所帮助。

尝试使用Cedar BDD编译iOS项目时,一直遇到无法在名称空间'std'中找到'type named 'shared_ptr''的错误消息。显然这是一个C++错误,但我不明白为什么Xcode使用的C++库没有定义shared_ptr类型,直到我发现目标的构建设置提供了两个库可供选择:

  • libstdc++(编译器默认)
  • libc++
3个回答

7
选择libc++可以解决这个问题,见屏幕截图Xcode 4.4 build settings window

3

苹果公司发布的libstdc++版本非常老,不支持C++11。因此,如果您使用libstdc ++,则无法使用C++11功能。


1
在Xcode中,您必须使用#include <memory>,而不能使用#include <memory.h>。请检查此内容。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接