如何在VS2010中编译Boost 1.39? 我试图把我们的C++项目从VS2005升级到VS2010,到目前为止一切都很好,除了我需要在VS2010中重新编译我们的Boost库(V1.39)(即VC100版本)。我不想(在这个阶段)升级Boost,因为我宁愿先完成VS2005到VS2010的升级,而不同时进行Boost升级

如何在VS2010中编译Boost 1.39? 我试图把我们的C++项目从VS2005升级到VS2010,到目前为止一切都很好,除了我需要在VS2010中重新编译我们的Boost库(V1.39)(即VC100版本)。我不想(在这个阶段)升级Boost,因为我宁愿先完成VS2005到VS2010的升级,而不同时进行Boost升级,boost,visual-studio-2010,vc10,Boost,Visual Studio 2010,Vc10,我的问题是Boost 1.39随bjam提供,而我们的版本不支持/不了解msvc10.0。我试过这个: C:\libs\boost\u 1\u 39\u 0>bjam工具集=msvc-10.0——构建类型=完成阶段 但是,我明白了: C:/libs/boost\u 1\u 39\u 0/tools/build/v2/tools\msvc.jam:733:in configure really *参数错误 *规则path.make(本机) *调用时使用:() *缺少本机参数 C:/libs/boo

我的问题是Boost 1.39随bjam提供,而我们的版本不支持/不了解msvc10.0。我试过这个:

C:\libs\boost\u 1\u 39\u 0>bjam工具集=msvc-10.0——构建类型=完成阶段

但是,我明白了:

C:/libs/boost\u 1\u 39\u 0/tools/build/v2/tools\msvc.jam:733:in configure really
*参数错误
*规则path.make(本机)
*调用时使用:()
*缺少本机参数
C:/libs/boost\u 1\u 39\u 0/tools/build/v2/util\path.jam:44:请参见规则“make”的定义被调用
C:/libs/boost\u 1\u 39\u 0/tools/build/v2/tools\msvc.jam:184:in configure
C:/libs/boost\u 1\u 39\u 0/tools/build/v2/tools\msvc.jam:137:在msvc.init中
C:/libs/boost\u 1\u 39\u 0/tools/build/v2/build\toolset.jam:38:在工具集中。使用
C:/libs/boost\u 1\u 39\u 0/tools/build/v2\build system.jam:465:进程内显式工具集请求
C:/libs/boost\u 1\u 39\u 0/tools/build/v2\build system.jam:545:加载中
C:\libs\boost\u 1\u 39\u 0\tools\build\v2/kernel\modules.jam:283:导入中
C:\libs\boost\u 1\u 39\u 0\tools\build\v2\kernel\bootstrap.jam:138:在boost构建中
C:\libs\boost\u 1\u 39\u 0\boost build.jam:16:在模块范围内
C:\libs\boost\u 1\u 39\u 0>

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

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

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


提前感谢……。:)

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

  • 下载并解压缩
  • 在VS10命令提示符
    cd
    中,指向新解压的boost文件夹的根目录
  • 执行
    bootstrap.bat
    。这应该在该文件夹中生成
    bjam.exe
  • cd
    到boost 1.39的根文件夹,然后将
    bjam.exe
    复制到
  • 执行bjam命令:
    bjam工具集=msvc-10.0——构建类型=完成阶段

弗雷泽-你是个明星!非常感谢,这正是我所需要的。使用vc10.0:成功编译Boost 1.39:)非常感谢@namford很棒:)不过我建议尽快将boost升级到当前版本。在1.39和1.49之间有大量的改进(新的库、优化和错误修复)。实际上,因为regex libs已经发生了变化,我们无论如何都要升级!哦…:)尽管如此,还是值得一试,再次感谢你,至少我学到了很多东西!