【问题标题】:Cannot open include file 'afxres.h' in VC2010 Express无法在 VC2010 Express 中打开包含文件“afxres.h”
【发布时间】:2011-04-03 17:18:20
【问题描述】:

我正在尝试使用 VS express 2010 编译一个旧项目,但出现此错误:

致命错误 RC1015:无法打开包含文件“afxres.h”。从这段代码

/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"

我已经安装了 Windows SDK,但没有成功。

谢谢!

【问题讨论】:

    标签: c++ visual-studio winapi visual-c++


    【解决方案1】:

    此标头是 MFC 库的一部分。 VS Express 版不包含 MFC。如果您的项目不使用 MFC,您可以在您的 terrain2.rc 中安全地将 afxres.h 替换为 windows.h

    【讨论】:

    • 谢谢,然后我得到错误:错误 RC2104:未定义的关键字或键名:IDC_STATIC
    • @clamp:这听起来像是一个通用控件定义。尝试添加 #include 以及(并将您的程序链接到 Comctl32.lib)
    • 否则 IDC_STATIC 被定义为 -1,如果这是唯一剩下的问题,请自行定义。
    • winres.h 定义了 IDC_STATIC,因此您可能只需要 #include 而不是 afxres.h 或 windows.h。
    【解决方案2】:

    有同样的问题。通过为 C++ 安装 Microsoft 基础类来修复它。

    1. 开始
    2. 更改或删除程序(类型)
    3. Microsoft Visual Studio
    4. 修改
    5. 选择“用于 C++ 的 Microsoft 基础类”
    6. 更新

    【讨论】:

    • 这应该被标记为答案,所有其他都是变通办法或黑客
    【解决方案3】:

    即使我也遇到过类似的问题,

    致命错误 RC1015:无法打开包含文件“afxres.h”。从这段代码

    用 Winresrc.h 替换 afxres.h 并将 IDC_STATIC 声明为 -1 对我有用。 (使用 Visual Studio Premium 2012)

    //#include "afxres.h"
    #include "WinResrc.h"
    #define IDC_STATIC  -1
    

    【讨论】:

      【解决方案4】:

      您也可以创建自己的 afxres.h:

      #ifndef _AFXRES_H
      #define _AFXRES_H
      #if __GNUC__ >= 3
      #pragma GCC system_header
      #endif
      
      #ifdef __cplusplus
      extern "C" {
      #endif
      
      #ifndef _WINDOWS_H
      #include <windows.h>
      #endif
      
      /* IDC_STATIC is documented in winuser.h, but not defined. */
      #ifndef IDC_STATIC
      #define IDC_STATIC (-1)
      #endif
      
      #ifdef __cplusplus
      }
      #endif
      #endif   
      

      【讨论】:

        【解决方案5】:

        您也可以尝试将 afxres.h 替换为 WinResrc.h

        【讨论】:

        • 我将文件更改为 windows.h 和 WinResrc.h,两种情况下的消息都更改为另一个消息:错误 RC2104:未定义的关键字或键名:IDC_STATIC .. 我只是在猜测这个 IDC_static 是在原始 afxres.h 文件中定义的,但是如何解决这个新错误?
        【解决方案6】:

        通过从另一个 Visual Studio 设置(非快速)复制以下文件夹来解决此问题

        来自 C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\atlmfc

        到 C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\atlmfc

        【讨论】:

          【解决方案7】:

          Visual Studio 2015 RC 也存在类似问题。 有时它会失去打开 RC 的能力:你双击但编辑器没有一个菜单和对话框。

          右击文件*.rc,会打开:

          并改变如下:

          【讨论】:

            【解决方案8】:

            有类似的问题,但是当我尝试打开项目解决方案时显示了该消息。对我有用的是:

            工具 -> 导入和导出设置...-> 重置所有设置

            【讨论】:

              猜你喜欢
              • 2016-05-27
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2012-07-10
              • 2016-06-17
              • 2019-10-28
              • 1970-01-01
              相关资源
              最近更新 更多