【发布时间】:2012-08-26 10:49:38
【问题描述】:
我安装了 Ubuntu 11.10 和内核版本 3.0.0-23-generic 和 +/- 默认情况下,我得到以下 Boost 1.46.1 版本,安装在 /usr/include/boost 和 /usr/lib 下:
bravegag@Zeus:~/code/roofline/tool$ dpkg --get-selections | grep boost
libboost-date-time1.46.1 install
libboost-dev install
libboost-iostreams1.46.1 install
libboost-program-options1.46.1 install
libboost-serialization1.46.1 install
libboost-thread1.46.1 install
libboost1.46-dev install
我可以尝试通过标准的 Ubuntu 方式更新它,但这很可能意味着我需要获得一些第三方 ppa 并作为副作用拉出很多废话,这会使我的系统不稳定,我不希望这样。所以我从源代码安装了 Boost 1.50,它安装在 /usr/local/include/boost 和 /usr/local/lib 下。
我的一个 CMake 项目选择 1.50 版本没有问题。但是,我使用的一个使用“默认”系统设置编译和链接的工具最终选择了 1.46.1 版本并导致错误消息 src/utils.h:17:25: error: ‘boost::BOOST_FOREACH’ has not been declared 所以显然没有选择 1.50 版本。
我尝试像这样覆盖默认的 g++/gcc Boost 版本:
export CPLUS_INCLUDE_PATH=/usr/local/include/boost/:$CPLUS_INCLUDE_PATH
export LIBRARY_PATH=/usr/local/lib/:$LIBRARY_PATH
但这也不能解决问题...我的问题是,我能否不简单地清除所有旧的 Boost 1.46 安装并转移到默认的 /usr/include 和 /usr/lib 1.50 安装?这样做会导致我的系统崩溃吗?我不想再冒险重新安装。
【问题讨论】:
标签: ubuntu boost installation ubuntu-11.10