2

我正在尝试将我们的 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 工具集=msvc-10.0 --build-type=完成阶段

但是,我明白了:

C:/libs/boost_1_39_0/tools/build/v2/tools\msvc.jam:733: 在配置中
*参数错误
* 规则 path.make ( native )
* 调用: ( )
* 缺少参数 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:在配置
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: 在 toolset.using
C :/libs/boost_1_39_0/tools/build/v2\build-system.jam:465: 在 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:\libs\boost_1_39_0>

当我查看 msvc.jam 时,它似乎不支持 msvc-10.0(这并不奇怪,因为我怀疑 Boost 在 1.39 时 vc10.0 已经发布)。

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

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

先感谢您........ :)

4

1 回答 1

3

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

  • 下载并解压当前的 boost 版本
  • 在 VS10 命令提示符cd下到新解压缩的 boost 文件夹的根目录
  • 执行bootstrap.bat. 这应该建立bjam.exe在该文件夹中
  • cd到 boost 1.39 的根文件夹并复制bjam.exe过来
  • 执行你的 bjam 命令:bjam toolset=msvc-10.0 --build-type=complete stage
于 2012-04-27T19:36:57.870 回答