【问题标题】:Forcing scons to use older compiler?强制 scons 使用较旧的编译器?
【发布时间】:2010-06-20 13:16:07
【问题描述】:

我有一个使用 boost 的 C++ 项目。整个项目是使用 scons + Visual Studio 2008 构建的。我们已经安装了 Visual Studio 2010,结果 scons 试图使用后来的编译器而不是旧的编译器 - 并且未能将项目构建为 boost 和 Visual Studio 2010 不不是很喜欢对方——还没有。我们想压制这一点并强制 scons 使用 2008 版本。这可能吗?我们如何做到这一点?

【问题讨论】:

    标签: python scons


    【解决方案1】:

    您可以通过选择来修改 scons Environment() 你想要的版本:

    env = Environment(MSVC_VERSION=<someversion>)

    来自 scons 手册页:

    MSVC_VERSION 设置首选 Microsoft Visual C/C++ 版本到 使用。

    如果 $MSVC_VERSION 未设置,SCons 将(默认情况下)选择最新的 安装的 Visual C/C++ 版本 你的系统。如果指定版本 未安装,工具初始化 将失败。这个变量必须是 作为参数传递给 Environment() 构造函数;设置它 后来没有效果。将其设置为 意外的值(例如“XXX”) 您系统上的有效值。

    【讨论】:

    • 我明天早上试试
    • env = Environment(MSVC_VERSION=9.0) 工作。
    • MSVC_VERSION='11.0Exp' 用于制作 2012Express。
    【解决方案2】:

    您需要重新定义 CXX 构造变量,最好是在您的环境中:

    env = Environment(CXX = "C:\\path\to\vs2008\executable")
    

    【讨论】:

    • 你好,抱歉回复晚了,我明天试试
    猜你喜欢
    • 1970-01-01
    • 2015-03-10
    • 2013-06-11
    • 2012-05-01
    • 2011-11-29
    • 2014-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多