无法在VC2010 Express中打开包含文件'afxres.h'


137

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

致命错误RC1015:无法打开包含文件'afxres.h'。从此代码

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

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

谢谢!

Answers:


190

此标头是MFC库的一部分。VS Express版本不包含MFC。如果您的项目不使用MFC,你可以放心地更换afxres.hwindows.h你的terrain2.rc


4
谢谢,然后我得到了错误:错误RC2104:未定义的关键字或密钥名称:IDC_STATIC

@clamp:听起来像是通用控件的定义。尝试同时添加#include <Commctrl.h>(并将您的程序链接到Comctl32.lib)
默认

3
否则,IDC_STATIC定义为-1,因此,如果这是唯一的问题,请自己定义。
erikH 2012年

36
winres.h定义了IDC_STATIC,因此您可能只需#include <winres.h>而不是afxres.h或windows.h。
康拉德·珀尔曼

3
不是VS 2017的解决方案

123

遇到了同样的问题。通过安装C ++的Microsoft基础类来修复此问题。

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

在此处输入图片说明


18
由于OP是Express版,因此这可能不会对OP有所帮助,但确实可以帮助我!谢谢。
nemec

2
解决了我的问题-我使用的是Visual Studio 2013 Ultimate,它工作正常。谢谢!:-)
AStopher

4
我也可以通过此答案解决Visual Studio 2015社区版上的问题。
Andy Li

2
在Visual Studio 2017 Pro中,即使安装了MFC组件也出现此错误。
jrh

37

甚至我也面临类似的问题,

致命错误RC1015:无法打开包含文件'afxres.h'。从此代码

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

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

为我工作,以解决VS2019专业版的问题。
MCoder

11

或者,您可以创建自己的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   

2
在支持跨平台时非常有用
dashesy 2015年

8

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


我将文件更改为windows.h和WinResrc.h,并且消息在两种情况下均更改为另一种消息:错误RC2104:未定义的关键字或键名:IDC_STATIC ..我只是在猜测这个IDC_static是在原始afxres中定义的.h文件,但如何解决此新错误?
hashDefine 2013年

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


1

Visual Studio 2015 RC也有类似的问题。有时,它失去了打开RC的功能:双击但编辑器没有菜单和对话框。

右键单击文件* .rc,它将打开:

在此处输入图片说明

并进行如下更改:

在此处输入图片说明


1
这对我不起作用:致命错误RC1015:无法打开包含文件'afxres.h'。
阿迪拉

-1

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

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.