当我在VS2010中创建新的c ++控制台应用程序(选中了MFC复选框)时,在与prsht.h
,zmouse.h
,commctrl.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
答案 0 :(得分:1)
您可以在#include“targetver.h”语句之前尝试在stdafx.h文件中包含以下内容
#include "Winsock2.h"
#include "Windows.h"
#include "targetver.h"
答案 1 :(得分:0)
这些错误发生了,因为编译器将符号CALLBACK
,HWND
等视为新的,它不知道它们。
这些符号在windows.h
头文件中定义。
所以诊断是:windows.h was not included
。
这可能是因为破坏了SDK文件,因此您需要重新安装SDK。
在我的计算机上,头文件包含在以下链中:
stdafx.h - afxwin.h - afx.h - afxver_.h - afxv_w32.h - windows.h
,zmouse.h
,commctrl.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/