Не удается открыть файл включения «afxres.h» в VC2010 Express


137

Я пытаюсь скомпилировать старый проект с использованием VS Express 2010, но я получаю эту ошибку:

фатальная ошибка RC1015: не удается открыть включаемый файл 'afxres.h'. из этого кода

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

Я уже установил Windows SDK, но безуспешно.

Спасибо!

Ответы:


190

Этот заголовок является частью библиотеки MFC. VS Express Edition не содержит MFC. Если ваш проект не использует MFC вы можете спокойно заменить afxres.hс windows.hв вашей terrain2.rc.


4
спасибо, тогда я получаю ошибку: ошибка RC2104: неопределенное ключевое слово или имя ключа: IDC_STATIC
зажим

@clamp: это звучит как определение общего контроля. попробуйте также добавить #include <Commctrl.h> (и свяжите вашу программу с Comctl32.lib)
умолчанию

3
В противном случае IDC_STATIC определяется как -1, поэтому определите его самостоятельно, если это единственная оставшаяся проблема.
erikH

36
winres.h определяет IDC_STATIC, поэтому вы можете просто #include <winres.h>, а не afxres.h или windows.h.
Конрад Полман

3
Не решение для VS 2017

123

Была такая же проблема. Исправлено путем установки Microsoft Foundation Classes для C ++.

  1. Начало
  2. Изменить или удалить программу (тип)
  3. Microsoft Visual Studio
  4. Изменить
  5. Выберите «Microsoft Foundation Classes для C ++»
  6. Обновить

введите описание изображения здесь


18
Это, вероятно, не поможет OP, так как он / она находится в Express Edition, но это, безусловно, помогло мне! Спасибо.
nemec

2
Решил мою проблему - я нахожусь на Visual Studio 2013 Ultimate, и она работала нормально. Спасибо! :-)
AStopher

4
С помощью этого ответа я также могу решить мою проблему в выпуске Visual Studio 2015 Community Edition.
Энди Ли

2
В Visual Studio 2017 Pro эта ошибка появляется даже при установленных компонентах MFC.
JRH

37

Даже я тоже сталкивался с подобной проблемой,

фатальная ошибка RC1015: не удается открыть включаемый файл 'afxres.h'. из этого кода

Замена afxres.h на Winresrc.h и объявление IDC_STATIC как -1 работало для меня. (С использованием visual studio Premium 2012)

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

Работал для меня, чтобы решить проблему с VS2019 Pro Edition.
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

8

Вы также можете попробовать заменить afxres.h на WinResrc.h


Я изменил файл на windows.h и WinResrc.h, и сообщение в обоих случаях изменилось на другое сообщение: ошибка RC2104: неопределенное ключевое слово или имя ключа: IDC_STATIC .. Я просто предполагаю, что этот IDC_static определен в исходном afxres .h файл, но как решить эту новую ошибку?
hashDefine

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

Была похожая проблема, но сообщение было показано, когда я пытался открыть проект решения. Что сработало для меня:

ИНСТРУМЕНТЫ -> Импорт и экспорт настроек ...-> Сброс всех настроек

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.