1

我相信某些 API 在 Windows 7 和 Windows XP 之间发生了变化或被另一个 API 取代。因此,我在 Windows 7 上构建的应用程序无法在 Windows XP 上加载。

我是否可以将一些标志传递给 Visual C/C++ 编译器 (Visual Studio 2008) 或设置一些环境标志来告诉 Visual Studio 在 Windows 7 上构建我的 Windows XP 应用程序?

一种解决方案是在 Windows XP 上构建它,但这是我想要避免的。

4

1 回答 1

0

在您的项目属性中,定义预处理器常量:WINVER=0x0501 和 _WIN32_WINNT=0x0501。或者,您可以在 #include 任何标准头文件之前在所有头文件中 #define 它们。

#define WINVER 0x0501
#define _WIN32_WINNT 0x0501

在 MSDN 上查看更多信息(由于某种原因,我无法在此处添加指向 MSDN 的直接链接,但您应该可以搜索它)。

于 2013-02-14T15:45:39.280 回答