【发布时间】:2018-05-17 14:16:05
【问题描述】:
我之前安装了boost
sudo apt-get libboost-dev
sudo apt-get libboost-all-dev
我想我得到了boost 1.58。
然后我需要最新的boost 为boost_serialization,为此我尝试通过从here 下载安装boost,然后执行以下命令。
tar --bzip2 -xf boost_1_65_1.tar.bz2
./bootstrap.sh --prefix=/usr/
sudo checkinstall ./b2 install
我检查了boost通过不同方式安装的版本。
第一
std::cout << "Using Boost "
<< BOOST_VERSION / 100000 << "." // major version
<< BOOST_VERSION / 100 % 1000 << "." // minor version
<< BOOST_VERSION % 100 // patch level
<< std::endl;
这给了Using Boost 1.65.1
第二
dpkg -S /usr/include/boost/version.hpp
这给了libboost1.58-dev:amd64: /usr/include/boost/version.hpp
第三
cat /usr/include/boost/version.hpp | grep "BOOST_LIB_VERSION"
显示// BOOST_LIB_VERSION must be defined to be the same as BOOST_VERSION #define BOOST_LIB_VERSION "1_65_1"
第四个
dpkg -s libboost-dev | grep 'Version'
显示Version: 1.58.0.1ubuntu1
有什么区别?我安装了这两个版本还是只安装了1.65?
我尝试通过sudo apt-get autoremove 删除1.58,但我再次得到相同的信息。
我也试过删除旧的
dpkg -S /usr/include/boost/version.hpp
sudo apt-get autoremove package
它只显示以下信息
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package package
【问题讨论】:
标签: c++ boost boost-serialization