1

我想根据编译机是否运行 Windows 7 SP1 进行条件编译。

我们有http://support.microsoft.com/kb/2517589的解决方法,但我不想检查代码,除非它由 #ifdef _WIN7_SP1 保护,否则其他开发人员将无法编译它在他们的非 win7-sp1 机器上。

我有一点谷歌,但找不到任何有用的东西。

4

1 回答 1

2

你没有。构建机器环境中的东西通常不会像那样污染编译。(想象一下如果发生这种情况以及它会对构建的可重复性造成什么影响。)

如果你真的需要,我会让你的构建系统(make、Visual Studio 等)执行一个程序来检查当前的 Windows 版本并在必要时失败(或者你的构建系统可能已经确定了这一点)。基于此,您可以WIN7_SP1通过编译器的命令行参数有条件地进行自己的定义。

于 2012-05-14T02:50:03.090 回答