1

正如标题所暗示的,我在编译基于 MFC 的应用程序时遇到问题,这个问题在安装 windows server 2003 平台 SDK 后立即开始,现在即使我尝试编译一个新的 MFC 项目,我也会收到以下错误:

c:\program files\microsoft 平台 sdk\include\zmouse.h(141):错误 C2146:语法错误:缺少 ';' 在标识符“HwndMSWheel”之前

1>c:\program files\microsoft platform sdk\include\zmouse.h(141) : error C2433: 'HWND' : 'inline' not allowed on data declarations

1>c:\program files\microsoft 平台 sdk\include\zmouse.h(141):错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持默认整数

1>c:\program files\microsoft 平台 sdk\include\zmouse.h(142):错误 C2065:'PUINT':未声明的标识符

1>c:\program files\microsoft 平台 sdk\include\zmouse.h(142):错误 C2146:语法错误:在标识符 'puiMsh_MsgMouseWheel' 之前缺少 ')'

1>c:\program files\microsoft platform sdk\include\zmouse.h(142):错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持默认整数

1>c:\program files\microsoft 平台 sdk\include\zmouse.h(147):错误 C2059:语法错误:')'

1>c:\program files\microsoft 平台 sdk\include\zmouse.h(148):错误 C2143:语法错误:缺少“;” 前 '{'

1>c:\program files\microsoft platform sdk\include\zmouse.h(148) : error C2447: '{' : missing function header (old-style form list?)

1>c:\program files\microsoft 平台 sdk\include\commctrl.h(29):错误 C2146:语法错误:缺少“;” 在标识符“HRESULT”之前

1>c:\program files\microsoft platform sdk\include\commctrl.h(29):错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持默认整数

1>c:\program files\microsoft platform sdk\include\commctrl.h(29):错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持默认整数

1>c:\program files\microsoft 平台 sdk\include\prsht.h(97):错误 C2065:'CALLBACK':未声明的标识符

1>c:\program files\microsoft 平台 sdk\include\prsht.h(97):错误 C2065:'LPFNPSPCALLBACKA':未声明的标识符

1>c:\program files\microsoft platform sdk\include\prsht.h(97):错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持默认整数

1>c:\program files\microsoft platform sdk\include\prsht.h(97) : 致命错误 C1903: 无法从以前的错误中恢复;停止编译

在某些情况下,我通过包含 windows.h 并在 stdafx.h 的顶部定义 WIN32_LEAN_AND_MEAN 来解决问题。然而,对于使用静态和动态链接到其他库的大型项目,建议的解决方案不起作用。我不确定为什么会发生这种情况,因为我也尝试重新安装平台 SDK 无济于事。

任何帮助表示赞赏。

谢谢:)

4

1 回答 1

1

你确定在 zmouse.h 之前 #include windows.h

于 2012-07-20T19:25:57.550 回答