【发布时间】:2018-09-03 14:56:44
【问题描述】:
使用 Visual Studio 2015 IDE 构建 windows xp 应用程序一点也不难,您只需要使用正确的平台工具集(v120_xp 或 v140_xp)并确保在目标上安装正确的可再发行 Visual Studio 运行时 dll机器,轻松搞定。
现在,我一直在尝试弄清楚如何在不使用 VS GUI 而是使用 VS2015 命令行 + SCons
的情况下构建针对 windows xp 的 windows xp 应用程序所有 SCons 标志都记录在文档中 here,但我没有看到任何可以让我更改平台工具集的内容。
如果您想知道平台工具集标志的真正含义是什么...经过一些研究,我已经能够弄清楚该标志的真正作用基本上是生成适合目标机器加载器的不同 PE 标头,您可以看到以下 4 种不同情况(v120、v120_xp、v140、v140_xp)之间的小比较:
问题:如何在使用visual studio command line 或visual studio command line + SCons 时更改Visual Studio 平台工具集?
编辑:我找到了这个Can I set the platform toolset from the command line when building with VS2010's msbuild?,但我不确定它是否可以通过 SCons 使用:/
【问题讨论】:
-
这个问题实际上是关于 Nutika 如何使用 SCons(而不是专门关于 SCons)他们将创建 Environment() 并设置配置他们如何使用和配置编译器等。您可能必须设置 MSSDK_DIR 和/或 MSSDK_VERSION 才能获得适当的 SDK。另外(我相信)并非所有 SDK 版本都与所有 MSVC 版本兼容。所以请确保您安装了应该一起工作的版本。我认为 MSVC 2015 有一些安装 MSSDK 版本的选项?
-
@bdbaddog 这个article 很好地解释了xp 的整个向后兼容性。无论如何,这就是为什么我将所有这些不同的标签添加到问题中。如果有人能够解释如何在命令行上使用平台工具集,我们可以推断 SCons 使用它。我的直觉告诉我,也许该标志特定于
msbuild而不是cl & link,但我不知道......事情是,平台工具集a)修改PE头b)更改启动代码c)选择适当的SDK。
标签: visual-studio visual-studio-2015 scons portable-executable nuitka