【问题标题】:Error after created new c++ console application创建新的 C++ 控制台应用程序后出错
【发布时间】:2012-03-04 15:05:55
【问题描述】:

当我在 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 IntelliSense:应为“;” c:\program 文件 (x86)\microsoft sdks\windows\v7.0a\include\commctrl.h 165 21

错误 2 错误 C2433: 'HWND' : 'inline' not allowed on data declarations c:\program files (x86)\microsoft sdks\windows\v7.0a\include\zmouse.h 141 1 qwert

【问题讨论】:

  • 所以使用 VS2010,我创建了一个空的 Visual C++ 控制台应用程序,并检查了“MFC Headers”。我有一个非常基本的外壳,可以很好地编译。您是否在项目中添加了更多内容?确保您没有使用任何 VS Express 版本。

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


【解决方案1】:

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

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

#include "targetver.h"

【讨论】:

    【解决方案2】:

    出现这些错误是因为编译器将符号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/

    【讨论】:

      【解决方案3】:

      你不能取消 VS 生成的定义代码:
      (在framework.h中)

      #pragma once
      
      #include "targetver.h"
      #define WIN32_LEAN_AND_MEAN
      

      这个定义命令告诉编译器不要包含一些特定的头文件,比如 Windows。您可能在创建项目时忘记检查 MFC 支持。

      注释#define后,可能会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-10-30
        • 1970-01-01
        • 1970-01-01
        • 2012-02-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多