2010-08-05 4 views
6

Ich arbeite an einem plattformübergreifenden Projekt (Windows, Linux, Solaris). Ich möchte Boosts shared_ptr in diesem Projekt verwenden.Wie füge ich meinem Projekt mehr Schwung hinzu?

Wie kann ich es installieren und mit dem Projekt an die Kunden weitergeben?

Ich habe keine Root-Rechte für Linux/Solaris, daher muss ich wahrscheinlich Boost-Quellen zu meinen Quellen hinzufügen und sie zusammen aufbauen.

Auch unsere Version von Solaris ist sehr alt (2.5.1, Mai 1996). Kann es Probleme beim Erstellen von shared_ptr geben?

Antwort

4

Installieren Sie einfach die Boost-Header-Dateien (Sie müssen die Bibliotheken für shared_ptr nicht kompilieren und installieren, da es nur Header ist). Vergessen Sie nicht zu überprüfen, ob die Include-Pfade für Boost direkt in Ihrer IDE eingerichtet sind, damit die Header-Datei gefunden werden kann.

In Ihrer Code-Datei, um diesen Header:

#include<boost/shared_ptr.hpp> 

und es wie folgt verwendet werden:

boost::shared_ptr<int> ptrToInt (new int); 
4

Es müssen keine Quellen der Boost-Bibliothek hinzugefügt werden (Boost ist eine ziemlich große Bibliothek). Fügen Sie Boost einfach in Ihre Voraussetzungen ein.

Wenn Sie Ihr Projekt in Binärform neu verteilen, müssen Sie Boost-Bibliotheken überhaupt nicht hinzufügen.

3

boost::shared_ptr ist Nur-Header. Fügen Sie einfach die notwendigen Header-Dateien zu Ihrem Projekt hinzu und Sie sind fertig.

shared_ptr ist auch Teil von TR1, der erste C++ Library Technical Report und ist z.B. enthalten in neueren Versionen von GCC (> = 4.0.0) (siehe here für weitere Informationen).

+3

Beachten Sie, dass 'shared_ptr.hpp' von einigen anderen Header-Dateien abhängig ist. –

+1

Boost kommt mit einem Programm namens 'bcp', das dafür sorgt. Es durchsucht Ihre Quelle, um die Boost-Header-Dateien zu finden, die Sie verwenden, und rekursiv durchzugehen, um eine Mindestmenge zu erstellen. Wir machen dies automatisch in unseren Build-Skripten, und es funktioniert gut. – KeithB

3

Man braucht nicht viel von der Boost-Bibliothek muß nur Shared_ptr verwenden. Verwenden Sie das Tool bcp, um nur die Bits zu extrahieren, von denen shared_ptr abhängt. Dies ist möglicherweise besser als die Installation der vollständigen Bibliothek.

Verwandte Themen