no type named 'shared_ptr' in namespace 'std'

10.6k Views Asked by At

Hopefully this helps somebody else

Trying to compile an iOS project with Cedar BDD kept failing with no type named 'shared_ptr' in namespace 'std' error message. It was obviously a C++ error but couldn't understand why the C++ library Xcode was using didn;t have the shared_ptr type defined until I discovered the build settings of the target provides two libraries to choose from

  • libstdc++ (compiler default)
  • libc++
3

There are 3 best solutions below

0
On BEST ANSWER

selecting libc++ fixes the problem see screenshotXcode 4.4 build settings window

0
On

Apple ship a very old version of libstdc++ that doesn't support C++11, so if you use libstdc++ you can't use C++11 features.

0
On

In xcode you must use #include <memory>, you can not use #include <memory.h>. Please check this.