Как установить все библиотеки для разработчиков 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.