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, alsobootstrap.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 FehlermeldungDas 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.