【问题标题】:How do I build boost with Visual Studio 2008 when I have multiple Visual Studio versions installed?当我安装了多个 Visual Studio 版本时,如何使用 Visual Studio 2008 构建 boost?
【发布时间】:2012-07-31 20:47:23
【问题描述】:

我知道如何在我的机器上使用最新的 Visual Studio 构建提升 (this question, for example)

但是,我需要为 Visual Studio 2008 (vc9) 构建库

我尝试使用 toolset=vc9 但遇到问题/没有成功。

如何为 vc9 构建库?

在我运行 boostrap 后,我尝试运行

b2 toolset=vc9

但输出是:

C:/发展/提升 50/boost_1_50_0/boost_1_50_0/tools/build/v2/build\toolset.jam:39: 在 toolset.using 规则 vc9.init 在模块工具集中未知

C:/发展/提升 50/boost_1_50_0/boost_1_50_0/tools/build/v2\build-system.jam:481:在 处理显式工具集请求

C:/发展/提升 50/boost_1_50_0/boost_1_50_0/tools/build/v2\build-system.jam:562:在 加载

C:\开发\提升 50\boost_1_50_0\boost_1_50_0\tools\build\v2/kernel\modules.jam:283: 在 进口

C:\开发\提升 50\boost_1_50_0\boost_1_50_0\tools\build\v2/kernel/bootstrap.jam:142: 在提升构建中

C:\开发\boost 50\boost_1_50_0\boost_1_50_0\boost-build.jam:17: 在模块范围内

【问题讨论】:

    标签: c++ visual-studio-2008 visual-c++ boost bjam


    【解决方案1】:

    工具集=msvc-9.0

    我安装了 VS2008-Pro 和 VS2010-Express。默认使用 VS2010 运行。设置 toolset=msvc-9.0 会导致构建与 VS2008 一起运行。使用 Boost 1.51.0。

    【讨论】:

      【解决方案2】:

      您需要深入了解 How-To-Build-Boost 文档,特别是请参阅 this; 但是您需要指定特定 MSVC 版本的部分指向here。这建议创建一个user-config.jam,这可能会起作用,但我创建了一个project-config.jam 文件。

      【讨论】:

        【解决方案3】:

        我似乎可以通过从不同的 VC 命令行运行顶级 boost 构建(或元构建)脚本来做到这一点。例如,要使用 VC2012 构建,请使用 vc 2012 vars 启动命令行。对于 2010 年,同样如此。自动生成的构建脚本似乎做了正确的事情。

        我确信有办法通过自己编辑构建脚本或设置工具集来做到这一点,但我没有成功。

        【讨论】:

        • 这正是我所期望的——如果我尝试使用 vs2008 命令行构建 boost,我想要 vs2008 编译器和构建环境。而 boost 并没有这样做——它继续选择 vs2010。构建系统应该是引用透明的。 boost 正在做的事情——四处寻找全局系统设置——几乎是他们能做的最糟糕的事情。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-07-03
        • 2015-10-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多