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

发布于 2024-09-06 00:42:31 字数 222 浏览 8 评论 0原文

我有一个使用 boost 的 C++ 项目。整个项目是使用 scons + Visual Studio 2008 构建的。我们已经安装了 Visual Studio 2010,结果发现 scons 试图使用较新的编译器而不是旧的编译器 - 并且未能像 boost 和 Visual Studio 2010 那样构建项目彼此不太喜欢对方——还没有。我们想抑制这种情况并强制 scons 使用 2008 版本。这可能吗?我们该怎么做?

I have a C++ project which is using boost. The whole project is built using scons + Visual Studio 2008. We've installed Visual Studio 2010 and it turned out scons was attempting to use the later compiler instead of the old one - and failed to build the project as boost and visual studio 2010 don't like each other very much - yet. We'd like to suppress this and force scons to use the 2008 version. Is this possible? How do we do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

¢好甜 2024-09-13 00:42:31

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

env = Environment(MSVC_VERSION=)

从 scons 联机帮助页:

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

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

You can modify the scons Environment() by just choosing
the version you want:

env = Environment(MSVC_VERSION=<someversion>)

From the scons manpage:

MSVC_VERSION Sets the preferred
version of Microsoft Visual C/C++ to
use.

If $MSVC_VERSION is not set, SCons
will (by default) select the latest
version of Visual C/C++ installed on
your system. If the specified version
isn't installed, tool initialization
will fail. This variable must be
passed as an argument to the
Environment() constructor; setting it
later has no effect. Set it to an
unexpected value (e.g. "XXX") to see
the valid values on your system.

永言不败 2024-09-13 00:42:31

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

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

You'll need to redefine the CXX construction variable, ideally in your Environment:

env = Environment(CXX = "C:\\path\to\vs2008\executable")
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文