boost installation
-
hast du den libs und dlls?
-
ich hab einen boost ordner. da gibt es die ordner lib und include. in lib ist nichts drin. in include an die 20mb.
-
Jetzt fehlt aber das Toolset. Der Aufruf müsste dann so aussehen.
bjam "-sTOOLS=mingw" "-sMINGW_ROOT_DIRECTORY=C:\codeblocks" installoder mit mehr Einstellungen
bjam "-sTOOLS=mingw" "-sBUILD=debug release <runtime-link>static/dynamic" "-sALL_LOCATE_TARGET=c:\temp" "-sMINGW_ROOT_DIRECTORY=C:\codeblocks" installIst denn dein Compiler wirklich unter C:\codeblocks zu finden? Da müsste z.Bsp. dieses hier zu finden sein
mingw32-c++.exe
-
C:\codeblocks\bin
-
Dann müssten die von mir geposteten bjam-Aufrufe funktionieren.
-
scheint zu funktionieren. danke.
-
hat alles funktioniert. habe in der dokumentation geschnüffelt und habe bei boost::filesystem nicht beschriebene funktionen gefunden:
fs::path full_path( fs::initial_path() );
full_path = fs::system_complete( fs::path( argv[1], fs::native ) );was ist initial_path und system_complete?
und was haben die sich bei leaf gedacht:
dir_itr->leaf()???
danke, das wars dann
-
Sowohl initial_path als auch system_complete sind in der Dokumentation beschrieben (in der operations.hpp).
initial_path gibt im allgemeinen das derzeit eingestellte Verzeichnis (current dir) zurück. Beim Start eines Programmes ist das meistens das verzeichnis in dem sich das Programm befindet. Klappt aber nicht immer.
system_complete soll anhand der Current Directory den dem Betriebssystem entsprechneden vollständige Pfad bezogen auf den übergebenen zurückgeben.
leaf() liefert einfach einen string (std::string) auf das am weitesten rechts stehende Element (im allgemeinen der Dateiname) zurück.
Probiers einfach mal aus.
-
habs auch schon gefunden. zu voreilig gepostet. aber warum haben sie es leaf genannt und nicht anders?
-
Weil Leaf u.a. auch Blatt heißt (vom Baum das Blatt), und da ein Dateisystem nunmal baumartig aufgenaut ist, ist das letzte Element an einem Ast eine Datei, also Leaf (du kannst an eine Datei nichts mehr anhängen).