4

うまくいけば、これは他の誰かを助ける

Cedar BDD を使用して iOS プロジェクトをコンパイルしようとすると、ネームスペース 'std' エラー メッセージに 'shared_ptr' という名前の型がないため失敗し続けました。これは明らかに C++ エラーでしたが、Xcode が使用していた C++ ライブラリに shared_ptr タイプが定義されていなかった理由を理解できませんでした。ターゲットのビルド設定で選択可能な 2 つのライブラリが提供されていることを発見するまでは。

  • libstdc++ (コンパイラのデフォルト)
  • libc++
4

3 に答える 3

7

libc++ を選択すると問題が解決します スクリーンショットを参照してくださいXcode 4.4 ビルド設定ウィンドウ

于 2012-10-10T12:56:12.627 に答える
3

Appleは、C++11 をサポートしない 非常に古いバージョンの libstdc++ を出荷しているため、libstdc++ を使用すると C++11 の機能を使用できません。

于 2012-10-14T23:43:43.620 に答える
1

xcode では を使用する必要があり#include <memory>ますが、使用できません#include <memory.h>。これを確認してください。

于 2019-01-14T03:08:57.747 に答える