7

使用 Visual Studio 2015 IDE 构建 windows xp 应用程序一点也不难,您只需要使用正确的平台工具集(v120_xp 或 v140_xp)并确保在目标机器上安装正确的可再分发 Visual Studio 运行时 dll,很容易轻松。

现在,我一直在试图弄清楚如何在不使用 VS GUI 而是使用VS2015 命令行 + SCons的情况下构建针对 windows xp 的 windows xp 应用程序

所有 SCons 标志都记录在这里,但我没有看到任何可以让我更改平台工具集的东西。

如果您想知道平台工具集标志的真正含义是什么......经过一些研究,我已经能够弄清楚该标志的真正作用基本上是产生适合目标机器加载器的不同 PE 头文件,您可以看到以下 4 种不同情况(v120、v120_xp、v140、v140_xp)之间的小比较:

在此处输入图像描述

问题:如何在使用时visual studio command line或使用时更改 Visual Studio 平台工具集visual studio command line + SCons

编辑:我发现这个Can I set the platform toolset from the command line when building with VS2010's msbuild? 但我不确定这是否可以通过 SCons 使用:/

4

1 回答 1

3

经过大量挖掘后,我发现了解更多有关平台工具集含义的最佳策略是手动比较此标志将如何影响cllink,我已经这样做了,这是我的发现:

v120_xp
-------
link: /SUBSYSTEM:CONSOLE",5.01"
cl: /D "_USING_V110_SDK71_"

v120
----
link: /SUBSYSTEM:CONSOLE
cl:

v140_xp
--------
link: /SUBSYSTEM:CONSOLE",5.01"
cl: /D "_USING_V110_SDK71_" /Zc:inline

v140
-------
link: /SUBSYSTEM:CONSOLE
cl: /Zc:inline

我已经提取了所有常用参数,只留下了受平台工具集影响的相关参数。为了更多地了解整个主题,我建议您特别阅读官方文档中的/SUBSYSTEM标志。

此外,Executable/Include/Library/Exclude将调整目录以使用 windows SDK 7。

剩下的就是将这些标志与 SCons 集成,这应该很容易,例如,您只需将这些标志添加到nuitka 环境

于 2018-09-06T12:02:29.810 回答