Linux编译安装boost1.48 博客分类: Linux安装笔记 linuxboost
程序员文章站
2024-03-06 13:59:26
...
1.下载站:
http://sourceforge.net/projects/boost/files/boost/1.48.0/
2.安装
3.设置环境变量
在/etc/profile.d新建可执行文件boost.sh,添加文件内容:
命令行执行:source /etc/profile.d/boost.sh
以后在编译程序时,只需要用:-I$BOOST_INCLUDE -L$BOOST_LIB 即可,还要使用-l指定了链接库。
4.设置共享库链接目录
/etc/ld.so.conf文件内容后面追加/usr/local/lib
命令行执行
5.遇到的问题及解决方案
安装过程爆出很多和bz相关的错误,解决方案如下
PS 安装过程中的错误:
6.测试
把代码存为hello.cpp, 编译成so库
此处python路径设为你的python路径, 并且必须加-lboost_python, 这个库名不一定是这个, 去/user/local/lib查
然后在有此so库的目录, 进入python, 可以如下使用
7.测试遇到问题及解决方案
如果遇到问题:
解决方案:
http://sourceforge.net/projects/boost/files/boost/1.48.0/
2.安装
tar -xzvf boost_1_48_0.tar.g -C ~/source cd source/boost_1_48_0/ ./bootstrap.sh sudo ./bjam --layout=versioned --build-type=complete --toolset=gcc install
3.设置环境变量
在/etc/profile.d新建可执行文件boost.sh,添加文件内容:
#!/bin/sh BOOST_INCLUDE=/usr/local/include/boost BOOST_LIB=/usr/local/lib export BOOST_INCLUDE BOOST_LIB
命令行执行:source /etc/profile.d/boost.sh
以后在编译程序时,只需要用:-I$BOOST_INCLUDE -L$BOOST_LIB 即可,还要使用-l指定了链接库。
4.设置共享库链接目录
/etc/ld.so.conf文件内容后面追加/usr/local/lib
命令行执行
sudo ldconfig
5.遇到的问题及解决方案
安装过程爆出很多和bz相关的错误,解决方案如下
sudo apt-get install libbz2-dev
PS 安装过程中的错误:
libs/iostreams/src/bzip2.cpp:20:56: error: bzlib.h: 没有那个文件或目录 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 libs/iostreams/src/bzip2.cpp:33: error: ‘BZ_FLUSH_OK’ was not declared in this scope libs/iostreams/src/bzip2.cpp:34: error: ‘BZ_FINISH_OK’ was not declared in this scope libs/iostreams/src/bzip2.cpp:35: error: ‘BZ_STREAM_END’ was not declared in this scope libs/iostreams/src/bzip2.cpp:36: error: ‘BZ_SEQUENCE_ERROR’ was not declared in this scope libs/iostreams/src/bzip2.cpp:37: error: ‘BZ_PARAM_ERROR’ was not declared in this scope libs/iostreams/src/bzip2.cpp:38: error: ‘BZ_MEM_ERROR’ was not declared in this scope libs/iostreams/src/bzip2.cpp:39: error: ‘BZ_DATA_ERROR’ was not declared in this scope libs/iostreams/src/bzip2.cpp:40: error: ‘BZ_DATA_ERROR_MAGIC’ was not declared in this scope libs/iostreams/src/bzip2.cpp:41: error: ‘BZ_IO_ERROR’ was not declared in this scope libs/iostreams/src/bzip2.cpp:42: error: ‘BZ_UNEXPECTED_EOF’ was not declared in this scope libs/iostreams/src/bzip2.cpp:43: error: ‘BZ_OUTBUFF_FULL’ was not declared in this scope libs/iostreams/src/bzip2.cpp:44: error: ‘BZ_CONFIG_ERROR’ was not declared in this scope libs/iostreams/src/bzip2.cpp:48: error: ‘BZ_FINISH’ was not declared in this scope //mostly like above....
6.测试
#include <boost/python.hpp> char const* greet() { return "hello, world"; } BOOST_PYTHON_MODULE(hello) { using namespace boost::python; def("greet", greet); }
把代码存为hello.cpp, 编译成so库
g++ hello.cpp -o hello.so -shared -I/usr/include/python2.6 -I /usr/lib/python2.6/config/ -lboost_python
此处python路径设为你的python路径, 并且必须加-lboost_python, 这个库名不一定是这个, 去/user/local/lib查
然后在有此so库的目录, 进入python, 可以如下使用
>>> import hello >>> hello.greet() 'hello, world'
7.测试遇到问题及解决方案
如果遇到问题:
/usr/bin/ld: cannot find -lboost_python collect2: ld returned 1 exit status
解决方案:
- 确认/etc/ld.so.conf.d/相关配置文件已包含boost_python.so所在目录
- boost_python库所在目录(默认安装在/usr/local/lib)存在libboost_python.so,若不存在则从libboost_python.so.***建软链接到libboost_python.so
推荐阅读
-
Linux编译安装boost1.48 博客分类: Linux安装笔记 linuxboost
-
在虚拟机下安装Linux操作系统遇到的问题 博客分类: 操作系统 redhat操作系统
-
Linux 软件包的安装与管理 博客分类: Linux rpmyum源码安装nginx
-
linux服务器上安装jdk的两种方法(yum+下载包)(转载) 博客分类: linux 相关JAVA基础知识 linuxjdkyum
-
Linux安装Git服务 博客分类: OperationSystemLinuxGit linuxcentosgit
-
linux centos7 yum 安装 博客分类: linux linuxcentos7yum安装
-
doclever 5.5.1 安装及升级【原创】 博客分类: linux mongodb DOClever
-
doclever 5.5.1 安装及升级【原创】 博客分类: linux mongodb DOClever
-
Linux安装H3C iNode 博客分类: Linux H3CLinuxiNode安装
-
vsftpd2.3.2安装、配置详解 博客分类: linux RedHatLinux设计模式软件测试FreeBSD