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.