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

时间:2012-10-10 12:56:13

标签: xcode bdd shared-ptr cedar-bdd

希望这有助于其他人

尝试使用Cedar BDD编译iOS项目时失败,没有名为' shared_ptr'在命名空间' std'错误信息。 这显然是一个C ++错误,但无法理解为什么C ++库Xcode正在使用didn; t已定义shared_ptr类型,直到我发现目标的构建设置提供了两个库可供选择

  • libstdc ++(编译器默认值)
  • 的libc ++

3 个答案:

答案 0 :(得分:7)

选择libc ++修复了问题,请参见截屏Xcode 4.4 build settings window

答案 1 :(得分:3)

Apple发布了一个非常旧版本的libstdc ++,它不支持C ++ 11,所以如果你使用libstdc ++就不能使用C ++ 11的功能。

答案 2 :(得分:0)

在xcode中,您必须使用#include <memory>,而不能使用#include <memory.h>。请检查一下。