unix下boost安装

1) 下载BOOST库安在包,这里采用的是boost_1_58.tar.gz
 
2) 解压安装包:
tar -zxvf boost_1_58_0.tar.gz
3) 编译安装boost
进入boost_1_58_0目录:  cd boost_1_54_0
配置环境:  sudo ./bootstrap.sh
安装boost:  sudo ./b2 install
安装完成后,会把boost头文件拷贝到/usr/local/include/目录下,库文件在/usr/local/lib/下
4) 环境变量中配置include和lib目录
BOOST_INCLUDE=/usr/local/include/
BOOST_LIB=/usr/local/lib/
5) 写个测试程序Serialization.cpp
 
6) 使用编译命令:
g++ -g -o test Serialization.cpp -I$BOOST_INCLUDE –L$BOOST_LIB -lboost_serialization
7) 编译中出现如下错误信息,可能原因
错误1:
/usr/local/include/boost/serialization/smart_cast.hpp:80: undefined reference to `typeinfo for boost::archive::detail::basic_oarchive
可能原因是没有配置boost lib环境变量,编译时找不到lib库

错误2:
error while loading shared libraries: libboost_serialization.so.1.58.0: cannot open shared object file: No such file or directory
到/usr/local/lib/目录下,发现该文件存在,报这个错误原因是由于系统是64位的,默认会到/usr/local/lib64/目录下找lib文件,所以找不到。
 解决方法:设置文件的软链接ln –s /usr/local/lib/ libboost_serialization.so.1.58.0 /usr/local/lib64/ libboost_serialization.so.1.58.0
即可解决

猜你喜欢

转载自blog.csdn.net/wli_2005/article/details/51557552