【问题标题】:VC6 and odd WINVER message during compile编译期间的 VC6 和奇怪的 WINVER 消息
【发布时间】:2008-10-25 04:00:20
【问题描述】:
我在 VC6 项目编译中收到以下消息:
OTE:WINVER 已定义为 0x0500 或更高,这使得
Windows NT 5.0 和 Windows 98 功能。当这些标题被释放时,
Windows NT 5.0 beta 1 和 Windows 98 beta 2.1 是当前版本。
对于此版本,当 WINVER 定义为 0x0500 或更大时,您只能
构建 beta 或测试应用程序。要构建零售应用程序,
将 WINVER 设置为 0x0400 或访问http://www.microsoft.com/msdn/sdk
查看零售 Windows NT 5.0 或 Windows 98 标头是否可用。
有关详细信息,请参阅 SDK 发行说明。
知道发生了什么吗?
它可以很好地构建和链接。
我的 XP 机器上有 VC6、VS2005 和 2008。
也许我的 Platform SDK 不是最新的?
【问题讨论】:
标签:
visual-c++-6
platform-sdk
【解决方案1】:
您看到的警告消息来自随 Visual C++ 6.0 安装提供的 Platform SDK,它似乎可以追溯到 Windows 2000 处于测试阶段时。
如果您的应用程序要求 WINVER 为 0x0500,并且您仍需要使用 Visual C++ 6.0,我建议您安装更新的 Platform SDK。根据this blog post,与Visual C++ 6.0 兼容的最新平台SDK 是2003 年2 月版。 (还有另一篇帖子here 可能有用。)
但请注意 - 我不知道 2003 年 2 月的 Platform SDK 是否会与您的 Visual Studio 2005 和 2008 安装共存。
【解决方案2】:
或者VC6的包含路径不包含你的SDK,它只使用VC6自带的。
【解决方案3】:
您是否安装了最新的 VC6 Service Pack?