强制scons使用较旧的编译器?

时间:2010-06-20 13:16:07

标签: python scons

我有一个使用boost的C ++项目。整个项目是使用scons + Visual Studio 2008构建的。我们已经安装了Visual Studio 2010,结果发现scons正在尝试使用后来的编译器而不是旧编译器 - 并且无法构建项目作为boost和visual studio 2010 don还是非常喜欢彼此。我们想要压制这个并迫使scons使用2008版本。这可能吗?我们怎么做?

2 个答案:

答案 0 :(得分:17)

您只需选择即可修改scons Environment() 你想要的版本:

env =环境(MSVC_VERSION = <someversion>

来自scons手册页:

  

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

     

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

答案 1 :(得分:2)

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

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