Boost.org - wie binde ich die config.hpp ein?
-
Scott Meyers spricht in seinem Buch "Effektiv C++" über boost.org. Er benutzt dabei z.B. shared_ptr statt auto_ptr.
Problem bei mir ist, dass der Compiler sagt, dass er die Dateien nicht findet! Wie in den Docs angegeben versuche ich den Zugriff über Befehl:
#include <boost/config.hpp>Ich benutze den Bloodshed DevC++ Compiler 4.9.9.2. Über
Werkzeuge / Compileroptionen
kann ich im Register Verzeichnisse im Register "C++ Includes" meinen Pfad für die Include Dateien eingeben. Dort habe ich den Boost-Ordner angegeben und dort ist auch die config.hpp zu finden.Jedoch meckert der Compiler: "No such File or Directory"
Kann ich Boost nicht mit DevC verwenden, oder muss ich etwas anderes einstellen?
-
hasste den pfad von boost in devC gesetzt?
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Compiler-Forum verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Ganz davon abgesehen, das ich nicht weiß warum du config.hpp inkludieren willst... welches Verzeichnis hast du denn in DevCpp eingetragen? Es muß nämlich das Rootverzeichnis, von Boost sein. Also, wenn du Boost nach C:/ entpackt hast, dann muß der Pfad (je nach Boostversion) heißen: C:\boost_1_33_1
Und dann müsste das ganze auch funktionieren.
-
Ooos, ich muss wohl gestern abend wirklich müde gewesen sein. Habe allerdings wirklich einige Zeit damit verbracht... .
Mit einbinden des Root-Verzeichnisses geht es jetzt. Danke. Hatte natürlich:
C:\boost_1_33_1/boost
drin. Also einen zuviel. Auf weniger bin ich in der Tat nicht gekommen, obwohl
#include <boost/config.hpp>
hier ja schon "boost/" drin war.Anderes Problem auch gelöst. Meyers meint, man solle z.B. den shared_ptr über
std::tr1::shared_ptr
benutzen (S. 83, 3. Auflage).Geht aber über scheinbar nur über
boost::shared_ptr
..oh, eine Seite weiter verwendet er es auch mit boost:: (hmm...) Warum vorher mit
std::tr1:: ??? Geht doch nicht - scheinbar.config.hpp hatte ich eingebunden, weil irgendwo in der boost-Doc stand, dass diese alle anderen wichtigen Dateien einbinden würde.
Jedenfalls danke noch einmal!
Funktioniert jetzt endlich alles. Sogar den shared_array kann ich verwenden. *freut sich und hüpft herum*
-
std::tr1 ist der Namespace der zwar schon vom ISO Komitee abgesegnet ist, aber noch wird er nicht von jedem Hersteller (Dinkumware z.B.) oder Library (z.B. Boost) angeboten, weil die Implementierungen noch nicht fertig ist.
std::tr1 kann man zur Zeit (wenn man es aus Boost benutzen will) nur in der CVS Boost Sandbox finden. Soll heißen, es ist zwar online verfügbar, aber noch nicht im offiziellen Boost-Release drin. Muß ja erst ordentlich getestet werden. In Boost kommen nur langwierig getestete und abgestimmte Libs rein.
So lange muß man die Smartpointer aus dem boost-Namespace nutzen.
-
Hey, danke für die Antwort. Wie gesagt, hast mir sehr geholfen. Danke.