boost filesystem zum laufen bringen



  • Hallo,

    ich versuche seit nunmehr 2 Stunden boost::filesystem zum laufen zu bringen und bin inzwischen am verzweifeln weil es nicht läuft.

    Ich hab folgendes minimales Testprogramm:

    #include <iostream>
    #include <boost/filesystem.hpp>
    
    int main()
    {
    	const char *file_path = "ein gültiger Pfad";
    	std::cout << boost::filesystem::file_size(file_path) << '\n';
    }
    

    aber leider erhalte ich immer den Fehler: "fatal error LNK1104: Datei "libboost_filesystem-vc90-mt-gd-1_58.lib" kann nicht geöffnet werden.

    Boost ist soweit aufgesetzt dass die Header-Only libraries problemlos funktionieren. Jetzt will ich zum ersten mal eine nicht-Header-Only library benutzen aber kriege es leider nicht hin (Ich benutze momentan Visual Studio 2008 als IDE).

    Unter Punkt 5 der Doku wird beschrieben wie man eine Library builden soll. Ich navigiere also per Eingabeaufforderung in das boost Verzeichnis und gebe dort (wie in der Doku beschrieben)

    ./bootstrap.sh --help

    ein, worauf ich nur die Fehlermeldung Der Befehl "." ist entweder falsch geschrieben oder konnte nicht gefunden werden. erhalte. Wenn ich den Punkt und den Backslash weglasse, also

    bootstrap.sh --help

    dann wird zumindest die Hilfe schonmal korrekt angezeigt. Also gebe ich jetzt

    bootstrap.sh

    ein, um die Libraries entsprechend zu builden. Darauf erhalte ich folgende Fehlermeldung in der Eingabeaufforderung:

    Run 'git help git' to display the help index.
    Run 'git help <command>' to display help for specific commands.
    Building Boost.Build engine with toolset ...
    Failed to build Boost.Build build engine
    Consult 'bootstrap.log' for more details
    

    und im bootstrap.log steht:

    ###
    ### Using 'cc' toolset.
    ###
    rm -rf bootstrap
    mkdir bootstrap
    cc -o bootstrap/jam0 command.c compile.c constants.c debug.c execcmd.c frames.c function.c glob.c hash.c hdrmacro.c headers.c jam.c jambase.c jamgram.c lists.c make.c make1.c object.c option.c output.c parse.c pathsys.c regexp.c rules.c scan.c search.c subst.c timestamp.c variable.c modules.c strings.c filesys.c builtins.c class.c cwd.c native.c md5.c w32_getreg.c modules/set.c modules/path.c modules/regex.c modules/property-set.c modules/sequence.c modules/order.c execunix.c fileunix.c pathunix.c
    ./build.sh: line 16: cc: command not found
    

    Was heißt das jetzt? Und wie überzeuge ich boost davon sich korrekt zu builden?



  • bootstrap**.sh**, cc und ./ vor dem Skriptaufruf sieht mir irgendwie nach Linux aus. Hier gibts ne Anleitung für Windows: http://www.boost.org/doc/libs/1_55_0/more/getting_started/windows.html#prepare-to-use-a-boost-library-binary Ich hab das selber aber noch nie gemacht, kann also keine Garantie darauf geben.

    Edit: Gerade nochmal deinen Link angeguckt. Du hast tatsächlich die Unix/Linux-Version erwischt.



  • patrick246 schrieb:

    bootstrap**.sh**, cc und ./ vor dem Skriptaufruf sieht mir irgendwie nach Linux aus. Hier gibts ne Anleitung für Windows: http://www.boost.org/doc/libs/1_55_0/more/getting_started/windows.html#prepare-to-use-a-boost-library-binary Ich hab das selber aber noch nie gemacht, kann also keine Garantie darauf geben.

    Edit: Gerade nochmal deinen Link angeguckt. Du hast tatsächlich die Unix/Linux-Version erwischt.

    Ok, das ist schonmal gut zu wissen, danke dafür 👍

    Jetzt erhalte ich nur beim aufrufen von bootstrap die Fehlermeldung

    Das Programm kann nicht gestartet werden, da mspdb100.dll auf dem Computer fehlt.
    

    Ich hab aber schon nachgeschaut, die mspdb100.dll existiert und ich hab sie auch schon in dem boost-Ordner kopiert, es geht aber trotzdem noch nicht. 😕



  • Benutze das Visual Studio Command-Prompt...



  • theta schrieb:

    Benutze das Visual Studio Command-Prompt...

    Arg. So einfach und doch so schwer 😃
    Der Build läuft jetzt, scheint endlich zu klappen, danke für die Hilfe 👍



  • Gabs für die aktuelle Visual Studio Compiler nicht schon gebaute libs mit installer? Also ich musste boost schon lange nicht mehr selbst bauen.



  • 5cript schrieb:

    Gabs für die aktuelle Visual Studio Compiler nicht schon gebaute libs mit installer? Also ich musste boost schon lange nicht mehr selbst bauen.

    Hm keine Ahnung, hab mich nur an die Anleitung auf der boost Seite orientiert, da stand nix davon... Aber so aktuell ist VS 2008 ja jetzt auch nicht mehr^^

    Übrigens, es läuft jetzt perfekt, Danke nochmal 🙂



  • Prebuilt Windows Binaries, für diverse vc versionen: (boost.org -> download -> other downloads -> prebuilt windows binaries)

    http://sourceforge.net/projects/boost/files/boost-binaries/1.58.0/

    EDIT: Nur der Vollständigkeit halber. Wenn du sie selbst gebaut hast, dann nimm natürlich die.


Anmelden zum Antworten