Apple und shared_ptr

Ich scheine hier etwas fehlt. Ich zog von boost::shared_ptr zu std::shared_ptr. shared_ptr war Teil des TR1 zurück in die Mitte der 2000er Jahre, und es sollte überall verfügbar sein im Jahr 2012.

Versuchen, zu verwenden shared_ptr unter Apple bekommt von mir ein paar Undefinierte Referenzen:

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;

Einem typischen compiler-Befehl lautet wie folgt (beide GCC und Clang fail):

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

Ich versuche zu zählen, es wie folgt (ich glaube, ich brauche, um dies zu tunen, aber ich erinnere mich nicht, die C++ - syntax zu sagen, "schauen Sie hier, oder schauen Sie da"):

#include <memory>
using std::shared_ptr;
using std::tr1::shared_ptr;

Apple ' s man-pages werden nicht drehen bis nichts:

$ man shared_ptr
No manual entry for shared_ptr
$ man -k shared_ptr
shared_ptr: nothing appropriate

Ich habe Mac OS X 10.8 (voll gepatcht), Xcode (voll gepatcht), und Command Line Tools installiert.

Also wie nutzt man einen std::shared_ptr auf Apple-Plattformen?

  • apple scheint nicht so ein guter tag
  • Welche toolchain-Versionen? Das ist, was wirklich wichtig ist. Ehrlich gesagt, ich konnte nicht weniger kümmern uns um Ihr OS!
  • Dank Der Leichtigkeit. Verstanden. I don ' T care viel über Apple entweder.
  • Leichtigkeit - GCC 4.2.1 und Clang ist 421.11.66 (ohne BS!).
  • BTW bitte verwenden @ Benachrichtigung syntax
  • scheint nicht so ein guter tag" - fühlen Sie sich frei, es zu ändern. Es scheint zu sein, Apple-spezifisch (Linux, Windows und BSD scheint zu funktionieren wie erwartet).

InformationsquelleAutor jww | 2012-11-18
Schreibe einen Kommentar