Nie można otworzyć pliku dołączanego „afxres.h” w VC2010 Express


137

Próbuję skompilować stary projekt przy użyciu VS express 2010, ale pojawia się ten błąd:

błąd krytyczny RC1015: nie można otworzyć pliku dołączanego „afxres.h”. z tego kodu

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

Zainstalowałem już Windows SDK, ale bez powodzenia.

dzięki!

Odpowiedzi:


190

Ten nagłówek jest częścią biblioteki MFC. Wersja VS Express nie zawiera MFC. Jeśli projekt nie korzysta z MFC można bezpiecznie wymieniać afxres.hsię windows.hw twojej terrain2.rc.


4
dzięki, wtedy pojawia się błąd: błąd RC2104: niezdefiniowane słowo kluczowe lub nazwa klucza: IDC_STATIC
zacisk

@clamp: to brzmi jak definicja Common Control. spróbuj również dodać #include <Commctrl.h> (i połączyć swój program z Comctl32.lib)
Domyślnie

3
W przeciwnym razie IDC_STATIC jest zdefiniowane jako -1, więc zdefiniuj je samodzielnie, jeśli to jedyny pozostający problem.
erikH

36
winres.h definiuje IDC_STATIC, więc prawdopodobnie możesz po prostu #include <winres.h> zamiast afxres.h lub windows.h.
Conrad Poelman

3
To nie jest rozwiązanie dla VS 2017

123

Miałem ten sam problem. Naprawiono to, instalując Microsoft Foundation Classes dla C ++.

  1. Początek
  2. Zmień lub usuń program (typ)
  3. Microsoft Visual Studio
  4. Modyfikować
  5. Wybierz „Microsoft Foundation Classes for C ++”
  6. Aktualizacja

wprowadź opis obrazu tutaj


18
To prawdopodobnie nie pomoże OP, ponieważ jest w wersji Express, ale z pewnością pomogło mi! Dzięki.
nemec

2
Rozwiązałem mój problem - korzystam z Visual Studio 2013 Ultimate i działało dobrze. Dzięki! :-)
AStopher

4
Dzięki tej odpowiedzi mogę również rozwiązać mój problem w programie Visual Studio 2015 Community Edition.
Andy Li

2
W programie Visual Studio 2017 Pro ten błąd pojawia się nawet przy zainstalowanych składnikach MFC.
jrh

37

Nawet ja miałem podobny problem,

błąd krytyczny RC1015: nie można otworzyć pliku dołączanego „afxres.h”. z tego kodu

Zastąpienie afxres.h Winresrc.h i zadeklarowanie IDC_STATIC jako -1 zadziałało dla mnie. (Korzystanie z programu Visual Studio Premium 2012)

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

Pomogło mi rozwiązać problem z wersją Pro VS2019.
MCoder,

11

Alternatywnie możesz stworzyć swój własny plik 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
przydatne podczas obsługi wielu platform
dashesy

8

Możesz także spróbować zamienić afxres.h na WinResrc.h


Zmieniłem plik na windows.h i WinResrc.h i komunikat zmienił się w obu przypadkach na inny komunikat z informacją: błąd RC2104: niezdefiniowane słowo kluczowe lub nazwa klucza: IDC_STATIC .. Zgaduję tylko, że ten IDC_static jest zdefiniowany w oryginalnym afxres h, ale jak rozwiązać ten nowy błąd?
hashDefine

6

udało się to naprawić, kopiując poniższy folder z innej konfiguracji programu Visual Studio (nie ekspresowo)

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

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


1

podobny problem dotyczy programu Visual Studio 2015 RC. Czasami traci możliwość otwierania RC: klikasz dwukrotnie, ale edytor nie ma jednego menu i okien dialogowych.

Kliknij prawym przyciskiem myszy plik * .rc, otworzy się:

wprowadź opis obrazu tutaj

I zmień w następujący sposób:

wprowadź opis obrazu tutaj


1
To nie zadziałało: błąd krytyczny RC1015: nie można otworzyć pliku dołączanego „afxres.h”.
ardila

-1

Wystąpił podobny problem, ale komunikat został wyświetlony, gdy próbowałem otworzyć rozwiązanie projektu. U mnie zadziałało:

NARZĘDZIA -> Importuj i eksportuj ustawienia ... -> Zresetuj wszystkie ustawienia

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.