我喜欢基于编译机器是否运行Windows 7 SP1的条件编译。
我们有http://support.microsoft.com/kb/2517589的解决方法,但我不想检查代码,除非它被#ifdef _WIN7_SP1保护,否则其他开发者无法在其上编译它他们的非win7-sp1机器。
我有点谷歌,但无法找到任何有用的东西。
答案 0 :(得分:2)
你不是。构建机器环境中的事情通常不会像这样污染编译。 (想象一下,如果发生了这种情况,它会对构建的再现性产生什么影响。)
如果你真的需要,我会让你的构建系统(make,Visual Studio,无论如何)执行一个检查当前Windows版本的程序,并在必要时失败(或者你的构建系统可能已经确定了)。基于此,您可以通过命令行参数有条件地为编译器创建自己的WIN7_SP1
。