创建新的c ++控制台应用程序后出错

时间:2012-03-04 15:05:55

标签: c++ visual-studio-2010 mfc

当我在VS2010中创建新的c ++控制台应用程序(选中了MFC复选框)时,在与prsht.hzmouse.hcommctrl.h连接的编译过程中出现了很多错误。

我做了更改此文件中的任何内容,所以我不知道出了什么问题。这些文件是什么以及如何编译程序而没有错误?

很多错误(113)

  

错误13错误C1903:无法从先前的错误中恢复;停止编译c:\ program files(x86)\ microsoft sdks \ windows \ v7.0a \ include \ prsht.h 97 1 qwert

     

错误10错误C2065:'CALLBACK':未声明的标识符c:\ program files(x86)\ microsoft sdks \ windows \ v7.0a \ include \ prsht.h 97 1 qwert

     

19智能感知:期待';' c:\ program files(x86)\ microsoft sdks \ windows \ v7.0a \ include \ commctrl.h 165 21

     

错误2错误C2433:'HWND':数据声明中不允许'内联'c:\ program files(x86)\ microsoft sdks \ windows \ v7.0a \ include \ zmouse.h 141 1 qwert

2 个答案:

答案 0 :(得分:1)

您可以在#include“targetver.h”语句之前尝试在stdafx.h文件中包含以下内容

#include "Winsock2.h"
#include "Windows.h"

#include "targetver.h"

答案 1 :(得分:0)

这些错误发生了,因为编译器将符号CALLBACKHWND等视为新的,它不知道它们。 这些符号在windows.h头文件中定义。 所以诊断是:windows.h was not included。 这可能是因为破坏了SDK文件,因此您需要重新安装SDK。

在我的计算机上,头文件包含在以下链中: stdafx.h - afxwin.h - afx.h - afxver_.h - afxv_w32.h - windows.hzmouse.hcommctrl.h

您无法明确包含windows.h(之前建议),因为afxv_w32.h文件在开头有以下几行:

#ifdef _WINDOWS_
    #error WINDOWS.H already included.  MFC apps must not #include <windows.h>
#endif

您可以看一下:http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/fff0ebaa-5153-40b9-89cf-cb9661abb2a4/