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