Mi sembra che manchi qualcosa qui. Sono passato da boost::shared_ptr
a std::shared_ptr
. shared_ptr
faceva parte di TR1 indietro a metà degli anni 2000, e dovrebbe essere disponibile ovunque nel 2012.Apple e shared_ptr
Cercando di utilizzare shared_ptr
sotto di Apple mi viene un gran numero di riferimenti non definiti:
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;
Un tipico comando del compilatore è la seguente (sia GCC e Clang falliscono):
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
sto cercando di comprendere come segue (credo che ho bisogno di modificare questo, ma non mi ricordo il C++ sintassi per dire "guarda qui oppure guarda lì "):
#include <memory>
using std::shared_ptr;
using std::tr1::shared_ptr;
pagine man di Apple non si rivolgono a nulla:
$ man shared_ptr
No manual entry for shared_ptr
$ man -k shared_ptr
shared_ptr: nothing appropriate
ho Mac OS X 10.8 (completamente rattoppato), Xcode (tutte le patch), e riga di comando Tools installato.
Quindi, come si usa uno std :: shared_ptr su piattaforme Apple?
'apple' non sembra un buon tag –
Che versioni di toolchain? Questo è ciò che è veramente importante. Francamente non mi importa meno del tuo sistema operativo! –
Grazie alla leggerezza. Inteso. Neanche a me importa molto della Apple. – jww