すべての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 updateを実行した後に再表示されました。おそらくあなたはそれらをあなたの答えに加えたいと思うでしょう。(誰にとっても明らかではありません...そして、それが手順の1つである場合、多くの人にとって明らかである可能性のあることを述べることに関して何も悪いことはありません)
-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

ブーストライブラリのメタパッケージはあると思いますが、その名前は覚えていません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.