如何在VS2010中编译Boost 1.39?

时间:2012-04-27 18:43:12

标签: boost visual-studio-2010 vc10

我正在尝试将我们的C ++项目从VS2005升级到VS2010,到目前为止一切似乎都很好,除了我需要在VS2010中重新编译我们的Boost库(v1.39)(即使用vc100 - 我们的版本是vc80)。我不(在这个阶段)想要升级Boost,因为我宁愿首先完成VS2005到VS2010的升级而不同时进行Boost升级。

我遇到的问题是Boost 1.39附带bjam,我们的版本不支持/了解msvc10.0。我试过这个:

C:\ libs \ boost_1_39_0> bjam toolset = msvc-10.0 --build-type = complete stage

但是,我明白了:

C:/ libs / boost_1_39_0 / tools / build / v2 / tools \ msvc.jam:733:在configure-really中 * 参数错误
* rule path.make(native)
*调用:()
*缺少参数本机
C:/ libs / boost_1_39_0 / tools / build / v2 / util \ path.jam:44:看到规则'make'的定义被称为
C:/ libs / boost_1_39_0 / tools / build / v2 / tools \ msvc.jam:184:in configure
C:/ libs / boost_1_39_0 / tools / build / v2 / tools \ msvc.jam:137:在msvc.init中 C:/ libs / boost_1_39_0 / tools / build / v2 / build \ toolset.jam:38:in toolset.using
C:/ libs / boost_1_39_0 / tools / build / v2 \ build-system.jam:465:in process-explicit-toolset-requests
C:/ libs / boost_1_39_0 / tools / build / v2 \ build-system.jam:545:在加载中
C:\ libs \ boost_1_39_0 \ tools \ build \ v2 / kernel \ modules.jam:283:导入中
C:\ libs \ boost_1_39_0 \ tools \ build \ v2 \ kernel \ bootstrap.jam:138:在boost-build中 C:\ libs \ boost_1_39_0 \ boost-build.jam:16:在模块范围内 C:\库\ boost_1_39_0>

当我查看msvc.jam时,它似乎不支持msvc-10.0(毫不奇怪,因为我怀疑当Boost处于1.39时vc10.0已经出来了。)

所以做了一些研究,发现也许我需要b2而不是bjam,但我很少有编译Boost的经验(之前只使用过预编译的lib),所以我想问一下是否有可能得到b2这将与Boost 1.39一起使用?或者是否可以使bjam与vc10.0一起使用?

基本上,我只需要尽可能简单地使用vc-10.0(VS2010)编译Boost 1.39!我将非常感谢任何能告诉我如何做到这一点的人!

提前谢谢........:)

1 个答案:

答案 0 :(得分:3)

您可以使用更新版本的bjam来构建boost 1.39。

  • 下载并解压缩current boost version
  • 在VS10命令提示符cd中到新解压缩的boost文件夹的根目录
  • 执行bootstrap.bat。这应该在该文件夹中构建bjam.exe
  • cd到boost 1.39的根文件夹,然后将bjam.exe复制到
  • 执行您的bjam命令:bjam toolset=msvc-10.0 --build-type=complete stage