Come installare tutte le librerie di sviluppo boost?


52

Sto riscontrando problemi nell'installazione completa della libreria boost che non riesce / salta diverse cose che sembrano essere la chiave per me continuare a compilare un programma con esso. Ecco cosa ottengo quando installo boost,

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...

Ho provato a reinstallare zlib e altri strumenti di archiviazione come bzip2 ma senza fortuna.

Risposte:


67

Il pacchetto libboost-all-devinstalla tutte le librerie di sviluppo. Estratto della descrizione del pacchetto:

Questo metapacchetto fornisce l'ambiente di sviluppo completo Boost, comprese tutte le librerie confezionate separatamente.

Installalo con:

sudo apt-get install libboost-all-dev

Se non riesce a individuare il pacchetto, assicurarsi che il repository universo sia abilitato.

Le intestazioni si trovano in /usr/include/booste le librerie in /usr/lib/x86_64-linux-gnuo /usr/lib/i386-linux-gnu.


Ah, ecco, non ricordo il nome di quel pacchetto. :)
netcoder il

veramente? sudo apt-get install libboost-all-dev Lettura degli elenchi di pacchetti ... Fine Creazione dell'albero delle dipendenze Lettura delle informazioni sullo stato ... Fatto E: Impossibile individuare il pacchetto libboost-all-dev
CashCow

In realtà l'ho posto come una mia domanda e dopo aver abilitato l'universo e aver fatto apt-get update è riapparso. Forse vorresti aggiungerli alla tua risposta. (Non ovvio per tutti ... E niente di sbagliato nel dichiarare cose che potrebbero essere ovvie per molti se si tratta di uno dei passaggi)
CashCow

dove si trovano questi file
prasad

36

Non specifico per Boost, ma per ottenere i file di intestazione (es: bzlib.h) per una libreria, è necessario installare i devpacchetti per esso:

sudo apt-get install libbz2-dev

Generalmente, per trovare in quale pacchetto è contenuto un file, usare apt-file:

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

Penso che ci sia un meta-pacchetto per le librerie boost, anche se non ricordo il nome.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.