如何获得与Visual Studio一起使用的Boost库二进制文件?

时间:2010-01-12 15:15:43

标签: c++ windows visual-studio boost

这是一个你可能已经看到的各种形式的网络的问题...总结在这里为你google乐趣: - )

我有一个使用Microsoft的Visual Studio构建的项目,并使用boost(http://www.boost.org/)的功能。我已经让我的项目使用了一些只是标题的库(没有链接的二进制库)。如何或在哪里可以获取其他库的Windows二进制文件?

5 个答案:

答案 0 :(得分:21)

访问二进制库有三种不同的选项:

1)从源代码构建它们。
进入boost目录并运行:

    bootstrap
    .\bjam

或者更复杂并做类似的事情:

    bjam --stagedir="c:\Program Files\Boost" --build-type=complete --toolset=msvc-9.0 --with-regex --with-date_time --with-thread --with-signals --with-system --with-filesystem --with-program_options stage

2)使用BoostPro安装程序(http://www.boostpro.com/download)获取所需的特定库。
    这非常好,因为它只下载并安装您想要的文件。但是,它从来没有最新版本可用,并且没有64位二进制文​​件。

3)下载整套图书馆(http://boost.teeks99.com
    易于使用,操作简单,但库很大(7GB解压缩!)    编辑2013-05-13:我的构建现在可以直接从sourceforge page开始(从1.53开始)。

答案 1 :(得分:4)

conda-forge(自动跨平台云构建工具和软件包管理器)为所有主要平台提供二进制文件:

https://anaconda.org/conda-forge/boost

您现在可以从以下位置获取Boost二进制文件:

http://sourceforge.net/projects/boost/files/boost-binaries/

但是,他们没有指定它是发布版本还是调试版本。

答案 2 :(得分:2)

我以前更喜欢使用BoostPro来安装需要单独编译的Boost库,例如Boost.Regex,但是似乎不再支持这种。

转到Boost Getting Started for Windows页面,它会告诉您在section 5.2.1中需要了解的所有内容。这是一个simple guide(有截图),向您展示如何开始。

总而言之,您需要从命令提示符运行以下命令:

> boostrap.bat
> .\b2

运行。\ b2命令可能需要一段时间。

然后在Visual Studio项目属性中,您需要:

  1. 选择C / C ++> “常规”选项卡并设置“其他包含目录”字段
  2. 选择链接器> “常规”选项卡并设置“附加库目录”字段。
  3. 对于第2步,这通常是Boost根目录的stage \ lib目录。

答案 3 :(得分:1)

自己构建它们。从boost网站下载bjam可执行文件,然后从boost src根目录执行以下命令:

bjam --toolset = msvc --build-type = complete define = _BIND_TO_CURRENT_MFC_VERSION = 1 define = _BIND_TO_CURRENT_CRT_VERSION = 1 stage

然后去喝点咖啡或让它一直运转过夜。之后,您将在“舞台”文件夹中获得结果。将此目录添加到options-> projects and solutions-> VC ++目录中的“库文件”。

答案 4 :(得分:0)

1)导航到boost目录

2)运行bootstrap      - 注意:bjam似乎没有在这一点上工作,但也许我做错了什么

3)运行。\ b2这应该设置提升默认为它检测到的主要或最近的Windows工具集,所以对我来说这是msvc11.0

然后你等一会儿,瞧!“

如上所述,只需包含boost libs的目录(D:\ boost_1_5x_x \ stage \ lib),并包含您在相应的Additional Directories字段中使用的目录。你不需要从" C / C ++"或者"链接器"。有一个标题VC ++,其中包含所有相关字段。如果您经常使用boost,也可以将它们包含在继承的目录列表

**编辑:只是意识到上面的帖子概述了这一点。非常抱歉。

相关问题