安装boost版本1.40

时间:2013-10-04 11:33:06

标签: c++ boost install ubuntu-12.04

我正在使用运行Ubuntu 12.04的服务器

我想在其中安装boost库。我知道

sudo apt-get install libboost-all-dev

将完成工作,但会安装最新版本1.52或更高版本。

但我需要安装特定版本1.40,因为模拟器中存在问题,我将其用于学术目的。具体的命令是什么,以便我可以安装boost库以及链接文件的其他要求

提前致谢

2 个答案:

答案 0 :(得分:0)

通常你下载源码,构建它(某些部分不仅仅是像Windows上的文件系统一样的头文件)。然后,您可以选择要安装的库的子集(您可以只使用所需的紧凑版本)。然后通过调用bootstrap脚本,将它构建到您想要的这个库子集的另一个目录,然后调用install。

以下是一个很好的描述:http://ubuntuforums.org/showthread.php?t=1180792

答案 1 :(得分:0)

快速回答: sudo apt-get install libboost-dev= 1.40.0.1

如果不起作用,请继续阅读。

apt-get支持安装软件包as long as it is in an archive that apt knows about的特定版本。来自apt-get联机帮助页:

A specific version of a package can be selected for installation by following the 
package name with an equals and the version of the package to select. This will 
cause that version to be located and selected for install. Alternatively a specific       
distribution can be selected by following the package name with a slash and the version of 
the distribution or the Archive name (stable, frozen, unstable).

例如如果您想为Ubuntu安装 apache 2.20 ,您可以执行以下操作:

sudo apt-get install apache2=2.2.20-1ubuntu1

请注意,在这种情况下,你可能需要自己做一些依赖性解析,但如果有任何问题,apt-get会告诉你导致它们的原因。例如(在11.04)

sudo apt-get install apache2=2.2.20-1ubuntu1 \
                     apache2.2-common=2.2.20-1ubuntu1 \
                     apache2.2-bin=2.2.20-1ubuntu1 \
                     apache2-mpm-worker=2.2.20-1ubuntu1 

注意:您必须首先检查版本1.40是否仍然可用。为此用途:

aptitude search libboost

如果aptitude搜索命令没有为您提供足够的结果,请尝试sudo aptitude update,然后再次运行aptitude search

您可能需要调查是否可以安装早期Ubuntu版本的deb。即删除当前包,下载deb并尝试安装它们。但是可能依赖于旧版本的标准库。如果是这样,您可以尝试从launchpad下载源代码。

作为最后的手段,请从 boost.org下载并构建它 - 非常痛苦!

编辑:我看到你在ubuntu论坛上问了同样的问题,看起来你有1.48作为默认值。您可能必须自己构建库。你能试试这个apt-get

吗?
sudo apt-get install libboost1.40-all-dev=1.40.0-4ubuntu4

如果这不起作用,您必须自己构建并安装它。您可以从

下载源代码

下载源代码(1.40.0): libboost 1.40.0 source files

安装完成后,运行以下命令来保存已安装的版本,防止软件包管理器在将来自动更新它:

sudo echo "[packagename] hold" | sudo dpkg --set-selections

来源:How to Downgrade Packages on Ubuntu