Wie installiere ich alle Boost-Entwicklungsbibliotheken?


52

Ich habe Probleme bei der vollständigen Installation der Boost-Bibliothek. Es schlägt fehl / überspringt einige Dinge, die für mich von entscheidender Bedeutung sind, um mit der Kompilierung eines Programms fortzufahren. Folgendes bekomme ich, wenn ich boost installiere:

gcc.compile.c++ bin.v2/libs/iostreams/build/gcc-4.6/release/threading-multi/bzip2.o
libs/iostreams/src/bzip2.cpp:20:56: fatal error: bzlib.h: No such file or directory
compilation terminated.

    "g++"  -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -pthread -fPIC  -DBOOST_ALL_NO_LIB=1 -DBOOST_IOSTREAMS_DYN_LINK=1 -DBOOST_IOSTREAMS_USE_DEPRECATED -DNDEBUG  -I"." -c -o "bin.v2/libs/iostreams/build/gcc-4.6/release/threading-multi/bzip2.o" "libs/iostreams/src/bzip2.cpp"

...failed gcc.compile.c++ bin.v2/libs/iostreams/build/gcc-4.6/release/threading-multi/bzip2.o...
...skipped <pbin.v2/libs/iostreams/build/gcc-4.6/release/threading-multi>libboost_iostreams.so.1.50.0 for lack of <pbin.v2/libs/iostreams/build/gcc-4.6/release/threading-multi>bzip2.o...
...skipped <p/usr/local/lib>libboost_iostreams.so.1.50.0 for lack of <pbin.v2/libs/iostreams/build/gcc-4.6/release/threading-multi>libboost_iostreams.so.1.50.0...
...skipped <p/usr/local/lib>libboost_iostreams.so for lack of <p/usr/local/lib>libboost_iostreams.so.1.50.0...
gcc.compile.c++ bin.v2/libs/iostreams/build/gcc-4.6/release/link-static/threading-multi/bzip2.o
libs/iostreams/src/bzip2.cpp:20:56: fatal error: bzlib.h: No such file or directory
compilation terminated.

    "g++"  -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -pthread  -DBOOST_ALL_NO_LIB=1 -DBOOST_IOSTREAMS_USE_DEPRECATED -DNDEBUG  -I"." -c -o "bin.v2/libs/iostreams/build/gcc-4.6/release/link-static/threading-multi/bzip2.o" "libs/iostreams/src/bzip2.cpp"

...failed gcc.compile.c++ bin.v2/libs/iostreams/build/gcc-4.6/release/link-static/threading-multi/bzip2.o...
...skipped <pbin.v2/libs/iostreams/build/gcc-4.6/release/link-static/threading-multi>libboost_iostreams.a(clean) for lack of <pbin.v2/libs/iostreams/build/gcc-4.6/release/link-static/threading-multi>bzip2.o...
...skipped <pbin.v2/libs/iostreams/build/gcc-4.6/release/link-static/threading-multi>libboost_iostreams.a for lack of <pbin.v2/libs/iostreams/build/gcc-4.6/release/link-static/threading-multi>bzip2.o...
...skipped <p/usr/local/lib>libboost_iostreams.a for lack of <pbin.v2/libs/iostreams/build/gcc-4.6/release/link-static/threading-multi>libboost_iostreams.a...
...failed updating 2 targets...
...skipped 6 targets...

Ich habe versucht, zlib und andere Archiv-Tools wie bzip2 neu zu installieren, aber kein Glück.

Antworten:


67

Das Paket libboost-all-devinstalliert alle Entwicklungsbibliotheken. Auszug aus der Paketbeschreibung:

Dieses Metapaket enthält die gesamte Boost-Entwicklungsumgebung, einschließlich aller separat gepackten Bibliotheken.

Installiere es mit:

sudo apt-get install libboost-all-dev

Wenn das Paket nicht gefunden wird, stellen Sie sicher, dass das Universums-Repository aktiviert ist.

Header befinden sich in /usr/include/boostund Bibliotheken in /usr/lib/x86_64-linux-gnuoder /usr/lib/i386-linux-gnu.


Ah, das war's, ich konnte mich nicht an den Namen für dieses Paket erinnern. :)
Netcoder

Ja wirklich? sudo apt-get install libboost-all-dev Paketlisten werden gelesen ... Fertig Abhängigkeitsbaum wird erstellt Statusinformationen werden gelesen ... Fertig E: Paket libboost-all-dev
CashCow kann nicht gefunden werden

Ich habe es tatsächlich als meine eigene Frage gestellt und nachdem ich das Universum aktiviert und apt-get update ausgeführt habe, ist es wieder aufgetaucht. Vielleicht möchten Sie diese Ihrer Antwort hinzufügen. (Nicht offensichtlich für alle ... Und nichts falsch daran, Dinge zu sagen, die für viele offensichtlich sein könnten, wenn es einer der Schritte ist)
CashCow

wo sich diese Dateien befinden
prasad

36

Nicht Boost-spezifisch, aber um die Header-Dateien (zB bzlib.h) für eine Bibliothek zu erhalten, müssen Sie die devPakete dafür installieren :

sudo apt-get install libbz2-dev

Um herauszufinden, in welchen Paketen eine Datei enthalten ist, verwenden Sie im Allgemeinen apt-file:

sudo apt-get install apt-file
apt-file update
apt-file search bzlib.h

Ich glaube, es gibt ein Metapaket für Boost-Bibliotheken, obwohl ich den Namen dafür nicht kenne.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.