Boost kompilieren (zuwenig Platz)
-
Hallo,
Ich habe auf meiner Festplatte ca. 1,1 GiB Speicher frei. Wenn ich versuche, Boost hier zu installieren, dann bricht die Kompilation irgendwann ab, weil kein Speicher (= 0 Bytes) mehr vorhanden ist.
Ich habe noch eine externe Festplatte mit im Moment ca. 160 GiB freiem Speicher. Das sollte, denke ich, reichen. Wäre es möglich, Boost auf dieser Festplatte zu komplieren und dann die fertigen Dateien (die ja wohl kaum so groß sein werden) einfach auf meine Hauptfestplatte zu schieben oder codiert die Installation irgendwo absolute Pfade hart bzw. schreibt etwas in der Registry oder anderen Systemdateien herum (glaube ich ja eher nicht)?
-
Die Boost-Libs sind ganz normale Bibliotheken, da gibts nix mit Registry oder sowas. Du kannst sie kompilieren wo du willst, sie sind aber trotzdem immer ziemlich groß (~2GiB iirc). Viel Platz kannst du sparen, wenn du nur für deinen Threadingtyp (single/multi) und Release kompilieren lässt ("-sBUILD=release <threading>single <runtime-link>static" -> siehe Link)
Im Zusammenhang mit den Headern ist NTFS Link extrem praktisch, vorausgesetzt du hast NTFS.
-
Das kannst du einstellen. Es gibt da eine Commandlineoption für bjam
-sALL_LOCATE_TARGET=
Da hängst du den Pfad an wo die bei Kompilieren enstehenden Dateien hinkommen. Die enstehenden libs und dlls sind normalerweise unter 1GB groß.
Am größten sind regex, unit_test_framework und test_exec_monitor.
-
Danke für die Antworten. Dass die Bibliotheken so groß sind, ist bitter. Aber dann verwende ich eben nur die Release-Versionen.
Zu NTFS Link: Sieht ja ganz nett aus aber dafür verwende ich immer Microsofts Konsolentool "fsutil" und bin damit bisher glücklich.
-
Völlig egal, was du benutzt. Hauptsache Junctions statt Kopien

An deiner Stelle würde ich die Libs nur dann kompilieren, wenn ich sie wirklich brauche. Die meisten Boost-Bibliotheken sind header-only, funktionieren also, sobald das boost Unterverzeichnis in deinem Includepfad ist.