2012-03-04 63 views
1

當我在VS2010中創建新的C++控制檯應用程序(MFC複選框已選中)時,我在編譯過程中與prsht.hzmouse.hcommctrl.h有很多錯誤。創建新的C++控制檯應用程序後出現錯誤

我沒有不是改變這個文件中的任何東西,所以我不知道什麼是錯的。這是什麼文件,以及如何編譯程序沒有錯誤?

很少有很多錯誤(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智能感知:期望a';' c:\ program files(x86)\ microsoft sdks \ windows \ v7.0a \ include \ commctrl.h 165 21

錯誤2錯誤C2433:數據聲明中不允許使用'HWND':'inline'c:\ program文件(x86)\微軟的SDK \ WINDOWS \ v7.0a \包括\ zmouse.h 141 1 QWERT

+0

因此,使用VS2010,我創建了一個EMP ty Visual C++控制檯應用程序,並選中「MFC頭」。我有一個非常基本的編譯好的shell。你有沒有增加更多的項目?確保你沒有使用任何VS Express版本。 – 2012-05-22 18:58:55

回答

1

你可以試試下面包括了在之前的#include stdafx.h中的文件 「targetver.h」 語句

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

#include "targetver.h" 
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/