我之前已经安装了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?
我尝试按1.58删除sudo apt-get autoremove,但我再次收到相同的信息。
我也试过删除旧的
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