ここに何か不足しているようです。私はboost::shared_ptr
からstd::shared_ptr
に移動しました。 shared_ptr
は戻って2000年代半ばにおけるTR1の一部であった、そしてそれは、Appleの下でshared_ptr
を使用しようとすると、2012年アップルとshared_ptr
でどこでも利用可能であるべきである私に未定義の参照のスルーを取得します。
SecureArray.h:26:12: error: no member named 'shared_ptr' in
namespace 'std'
using std::shared_ptr;
~~~~~^
SecureArray.h:27:12: error: no member named 'tr1' in namespace
'std'
using std::tr1::shared_ptr;
~~~~~^
SecureArray.h:487:5: error: unknown type name 'shared_ptr'
shared_ptr<SecureVector> m_vector;
典型的なコンパイラのコマンド以下のように(GCCとクランの両方が失敗した)である:
clang++ -g2 -ggdb -O0 -fcatch-undefined-cxx0x-behavior
-DSAFEINT_DISALLOW_UNSIGNED_NEGATION=1 -pipe -std=c++0x -Wall -Wextra
-Wno-unused-parameter -Wno-tautological-compare
-I. -I./esapi -I./deps -I/usr/local/include -I/usr/include -fpic
-c src/DummyConfiguration.cpp -o src/DummyConfiguration.o
次のように私はこれを微調整する必要があると考えている(それを含めるようにしようとしているが、私はここを見て「と言ってC++の構文を覚えていません。 、または見てください):
#include <memory>
using std::shared_ptr;
using std::tr1::shared_ptr;
Appleのmanページには何も上げされていません。
$ man shared_ptr
No manual entry for shared_ptr
$ man -k shared_ptr
shared_ptr: nothing appropriate
私は、Mac OS X 10.8(完全にパッチ)、Xcodeの(完全にパッチを適用)、およびコマンドラインツールがインストールされています。
Appleプラットフォームではどのようにstd :: shared_ptrを使用しますか?
'apple'はいいタグのようには見えません –
どのツールチェーンのバージョンですか?それは本当に重要なことです。率直に言って私はあなたのOSについてはあまり気にしませんでした! –
ありがとうライトネス。理解しています。私はAppleについてもあまり気にしない。 – jww