当前位置: 首页>>技术问答>>正文


在ubuntu 10.04下安装最新的1.44 boost库

, , ,

问题描述

我有ubuntu 10.04并想安装最新的boost库1.44_0

我下载了tar.gz文件并将其解压缩到/usr /local /boost_1_44_0

我已经从synaptic安装了1.40版本的boost。

所以我想编译和链接1.44,因为我想使用一些不属于旧版本的新库,如属性树。

但是,我遇到了一些问题。

跑sudo ./bootstrap.sh(那很好)

Ran ./bjam install bzip2有错误。

gcc.compile.c++ bin.v2/libs/iostreams/build/gcc-4.4.3/release/threading-multi/file_descriptor.o
gcc.compile.c++ bin.v2/libs/iostreams/build/gcc-4.4.3/release/threading-multi/mapped_file.o
gcc.compile.c++ bin.v2/libs/iostreams/build/gcc-4.4.3/release/threading-multi/zlib.o
gcc.compile.c++ bin.v2/libs/iostreams/build/gcc-4.4.3/release/threading-multi/gzip.o
gcc.compile.c++ bin.v2/libs/iostreams/build/gcc-4.4.3/release/threading-multi/bzip2.o
libs/iostreams/src/bzip2.cpp:20:56: error: bzlib.h: No such file or directory
libs/iostreams/src/bzip2.cpp:31: error: ‘BZ_OK’ was not declared in this scope
libs/iostreams/src/bzip2.cpp:32: error: ‘BZ_RUN_OK’ was not declared in this scope
...

虽然我没有使用bzip2,所以我并不担心。

但是在编译过程中不久之后,就会出现充满错误的屏幕。在这里列出太多,但他们经常在名称中使用python。

… on :: list]’:./boost/python/str.hpp:285:从’boost :: python :: str boost :: python :: str :: join(const T&)const [实例化] T = boost :: python :: list]’libs /python /src /object /function_doc_signature.cpp:321:从这里实例化./boost/python/object_core.hpp:334:错误:’object_base_initializer’未在此声明范围

    "g++"  -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -pthread -fPIC  -DBOOST_ALL_NO_LIB=1 -DBOOST_PYTHON_SOURCE -DNDEBUG  -I"." -I"/usr/include/python2.6" -c -o "bin.v2/libs/python/build/gcc-4.4.3/release/threading-multi/object/function_doc_signature.o" "libs/python/src/object/function_doc_signature.cpp"

...failed gcc.compile.c++ bin.v2/libs/python/build/gcc-4.4.3/release/threading-multi/object/function_doc_signature.o...
...skipped <pstage/lib>libboost_python.so.1.44.0 for lack of <pbin.v2/libs/python/build/gcc-4.4.3/release/threading-multi>numeric.o...
...skipped <pstage/lib>libboost_python.so for lack of <pstage/lib>libboost_python.so.1.44.0...
gcc.compile.c++ bin.v2/libs/random/build/gcc-4.4.3/release/threading-multi/random_device.o

首先,为什么这么多错误?还有其他的太多,无法在此列出。

但我的主要问题是我想链接到库,但它们没有放在预期的位置。我以为他们会在boost_1_44_0 /libs中,但是找不到它们。我确实发现了一些散布在周围的.a文件。

我只是把这件事弄错了吗?

最佳解决方法

你在这里想念的是特别是Boost Python库所依赖的bz2库。首先使用以下命令安装此库 – sudo apt-get install libbz2-dev

次佳解决方法

您可以从这里下载最新的ubuntu boost二进制文件:https://launchpad.net/~boost-latest/+archive/ppa

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/7071.html,未经允许,请勿转载。