Seite 1 von 1

Verwendung von Boost::FileSystem

Verfasst: Mi Mär 23, 2011 7:43 pm
von nouseforname
Hab die letzten Stunden ein wenig gegooglt. Und dabei herrausgefunden, dass man "boost" wohl hervorragend nutzen kann um "filesystem" Operationen, systemunabhängig durchzuführen.
Alsoo dachte ich mir, versuch ich das doch mal einzubinden. Ich möchte damit Verzeichnisse erstellen/löschen usw.
Nun scheine ich aber irgendwie unfähig zu sein "boost" richtig zu benutzen. Hat jemand damit Erfahrung und kann mir sagen wie und was ich genau machen muss?

Ich arbeite zur Zeit auf Win7, mit CodeBlocks. Was ich im übrigen ganz nett finde.

Das hier:

Code: Alles auswählen

#include "c:\Program Files (x86)\boost\boost_1_44\boost\filesystem.hpp"
wird auch richtig übernommen. denn beim kompilieren meckert der über

Code: Alles auswählen

c:\Program Files (x86)\boost\boost_1_44\boost\filesystem.hpp|25|boost/filesystem/v2/config.hpp: No such file or directory|
Zeile 25 ist:

Code: Alles auswählen

#  include <boost/filesystem/v2/config.hpp>
Also ist doch der Boost-Include doch nicht richtig?! Ich habe Boost mit dem Installer installiert und nicht selbst mit bjam erstellt.

Re: Projektplanung

Verfasst: Mi Mär 23, 2011 9:46 pm
von Bebu
Versuch mal, den Includepfad auf Boost direkt zu setzen. Dazu musst du das oberste Verzeichnis der Boost Header hinzufügen. Der wird deswegen jammern, weil die meisten Headerdateien wieder auf andere Headerdateien verweisen und die kann er nicht finden. Vergiss auch nicht, das Boost Filesystem eine vorkompiliere Library voraussetzt, also musst du den Linkerpfad mit anpassen.

Re: Projektplanung

Verfasst: Do Mär 24, 2011 10:33 pm
von nouseforname
ich habe Boost nun in CB implementieren können. Nun muss ich nur noch lernen wie ich damit umgehe^^
Und vorallem, wie ich das ganze dann auch auf Linux mache^^ aber eins nach dem anderen.

Re: Projektplanung

Verfasst: Do Mär 24, 2011 10:56 pm
von Bebu
Als kleinen, aber doch ganz guten Einstieg kann ich dir das hier empfehlen. Damit habe ich angefangen und das wichtigste ist da erklärt. Ausbauen kann man immer noch.

Edit: Da fällt mir gerade noch was ein, wegen des Interfaces für das Testmodul. Ich würde dir gerne ein Klasseninterface und die Formatierung der Kontrolldatei vorgeben, dann stellen wir sicher, dass die Module korrekt zusammenarbeiten. Einwände?

Re: Projektplanung

Verfasst: Fr Mär 25, 2011 6:16 am
von nouseforname
Bebu hat geschrieben:Als kleinen, aber doch ganz guten Einstieg kann ich dir das hier empfehlen. Damit habe ich angefangen und das wichtigste ist da erklärt. Ausbauen kann man immer noch.
genau da bin ich :)

Edit: Da fällt mir gerade noch was ein, wegen des Interfaces für das Testmodul. Ich würde dir gerne ein Klasseninterface und die Formatierung der Kontrolldatei vorgeben, dann stellen wir sicher, dass die Module korrekt zusammenarbeiten. Einwände?
ich ging zwar davon aus dass das Programm von mir extern und autark läuft, weil es ja eigentlich nicht ins Endprodukt gehört. Aber warum nicht?!
Ich hänge noch an den Anfängen, sprich ich bin am schauen wie ich am besten Verzeichnisse/Dateien erstellen/löschen kann. Das ganze dann auf Win und Unix.

Ich kam auf Boost weil ich bisher keinen Weg fand, Variablen als Argument in "System()" zu verwenden (um alles zu löschen). Und mein Freund Hr. Google, meinte dazu dass "boost::filesystem" genau das kann was ich will.^^

Re: Projektplanung

Verfasst: Fr Mär 25, 2011 9:01 am
von Bebu
Wie wäre es z. B. mit boost::filesystem::create_directory oder boost::filesystem::remove? Das sind doch genau die Funktionen die du suchst. Vergiss das mit dem system() für hier erstmal. Unter dem obigen Link findest du eigentlich alles, was du für dein Modul brauchst und den Rest kannst du unter http://www.boost.org nachschlagen.
nouseforname hat geschrieben:
ich ging zwar davon aus dass das Programm von mir extern und autark läuft, weil es ja eigentlich nicht ins Endprodukt gehört. Aber warum nicht?!
Ich hänge noch an den Anfängen, sprich ich bin am schauen wie ich am besten Verzeichnisse/Dateien erstellen/löschen kann. Das ganze dann auf Win und Unix.
Nein, autark soll es nicht laufen, es gehört zur Testsuite mit den automatischen Tests und gehört damit indirekt doch ins Endprodukt. Wenn du das alles mit Boost::Filesystem umsetzt, musst du dir über das OS keine Gedanken machen.

Ich schreibe später noch was dazu, muss jetzt erstmal los.

@Xin: Kannst du das alles hier bitte in einen seperaten Thread verschieben? Das gehört nicht mehr so ganz in die Projektplanung