Как установить все библиотеки для разработчиков Boost?


52

У меня проблемы с полной установкой библиотеки надстроек, она не работает / пропускает несколько вещей, которые, как мне кажется, являются ключевыми для продолжения компиляции программы с ее помощью. Вот что я получаю, когда устанавливаю 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...

Я попытался переустановить zlib и другие инструменты архивирования, такие как bzip2, но не повезло.

Ответы:


67

Пакет libboost-all-devустанавливает все библиотеки разработки. Выдержка из описания пакета:

Этот метапакет предоставляет полную среду разработки Boost, включая все отдельно упакованные библиотеки.

Установите его с помощью:

sudo apt-get install libboost-all-dev

Если не удается найти пакет, убедитесь, что репозиторий юниверсов включен.

Заголовки находятся в, /usr/include/boostа библиотеки в /usr/lib/x86_64-linux-gnuили /usr/lib/i386-linux-gnu.


Ах, вот и все, не могу вспомнить название этой посылки. :)
— сетевой кодер

действительно? sudo apt-get install libboost-all-dev Чтение списков пакетов ... Готово Построение дерева зависимостей Чтение информации о состоянии ... Готово E: Невозможно найти пакет libboost-all-dev
— CashCow

Я на самом деле задал его как свой собственный вопрос, и после включения юниверса и обновления apt-get он снова появился. Возможно, вы хотели бы добавить их в свой ответ. (Не очевидно для всех ... И нет ничего плохого в том, чтобы заявить о вещах, которые могут быть очевидны для многих, если это один из шагов)
— CashCow

где находятся эти файлы
— прасад

36

Не только для Boost, но чтобы получить заголовочные файлы (например, bzlib.h) для библиотеки, вам необходимо установить devпакеты для нее:

sudo apt-get install libbz2-dev

Как правило, чтобы узнать, в каких пакетах содержится файл, используйте apt-file:

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

Я думаю, что есть метапакет для библиотек наддува, хотя я не помню его название.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.