Impossible d'ouvrir le fichier d'inclusion 'afxres.h' dans VC2010 Express


137

J'essaie de compiler un ancien projet en utilisant VS express 2010 mais j'obtiens cette erreur:

erreur fatale RC1015: impossible d'ouvrir le fichier d'inclusion 'afxres.h'. à partir de ce code

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

J'ai déjà installé le SDK Windows, mais sans succès.

Merci!

Réponses:


190

Cet en-tête fait partie de la bibliothèque MFC. L'édition VS Express ne contient pas de MFC. Si votre projet n'utilise pas MFC, vous pouvez le remplacer en toute sécurité afxres.hpar windows.hdans votre fichier terrain2.rc.


4
merci, alors j'obtiens l'erreur: erreur RC2104: mot-clé ou nom de clé non défini: IDC_STATIC
pince

@clamp: cela ressemble à une définition de contrôle commun. essayez également d'ajouter #include <Commctrl.h> (et liez votre programme à Comctl32.lib)
Par défaut

3
Sinon, IDC_STATIC est défini comme -1, définissez-le vous-même si c'est le seul problème restant.
erikH

36
winres.h définit IDC_STATIC afin que vous puissiez simplement #include <winres.h> plutôt que afxres.h ou windows.h.
Conrad Poelman

3
Pas une solution pour VS 2017

123

Avait le même problème. Correction du problème en installant Microsoft Foundation Classes pour C ++.

  1. Début
  2. Modifier ou supprimer un programme (type)
  3. Microsoft Visual Studio
  4. Modifier
  5. Sélectionnez 'Microsoft Foundation Classes for C ++'
  6. Mettre à jour

entrez la description de l'image ici


18
Cela n'aidera probablement pas OP car il / elle est sur l'édition Express, mais cela m'a certainement aidé! Merci.
nemec le

2
J'ai résolu mon problème - je suis sur Visual Studio 2013 Ultimate et cela a bien fonctionné. Merci! :-)
AStopher

4
Je suis également en mesure de résoudre mon problème sur l'édition communautaire de Visual Studio 2015 avec cette réponse.
Andy Li

2
Dans Visual Studio 2017 Pro, j'obtiens cette erreur même avec les composants MFC installés.
jrh

37

Même moi aussi j'ai été confronté à un problème similaire,

erreur fatale RC1015: impossible d'ouvrir le fichier d'inclusion 'afxres.h'. à partir de ce code

Remplacer afxres.h par Winresrc.h et déclarer IDC_STATIC comme -1 a fonctionné pour moi. (Utilisation de Visual Studio Premium 2012)

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

A travaillé pour moi pour résoudre le problème avec l'édition pro de VS2019.
MCoder du

11

Vous pouvez également créer votre propre 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
utile lors du support multi-plateforme
dashesy

8

Vous pouvez également essayer de remplacer afxres.h par WinResrc.h


J'ai changé le fichier en windows.h et WinResrc.h et le message a changé dans les deux cas en un autre message indiquant: erreur RC2104: mot-clé ou nom de clé non défini: IDC_STATIC .. Je devine juste que cet IDC_static est défini dans l'afxres d'origine .h, mais comment résoudre cette nouvelle erreur?
hashDéfinir le

6

réussi à résoudre ce problème en copiant le dossier ci-dessous à partir d'une autre configuration de Visual Studio (non express)

à partir de C: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ VC \ atlmfc

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


1

un problème similaire concerne Visual studio 2015 RC. Parfois, il perd la possibilité d'ouvrir RC: vous double-cliquez mais l'éditeur ne fait pas un menu et des boîtes de dialogue.

Faites un clic droit sur le fichier * .rc, il s'ouvrira:

entrez la description de l'image ici

Et changez comme suit:

entrez la description de l'image ici


1
Cela n'a pas fonctionné pour moi: erreur fatale RC1015: impossible d'ouvrir le fichier d'inclusion 'afxres.h'.
ardila

-1

J'ai eu un problème similaire, mais le message a été affiché lorsque j'ai essayé d'ouvrir une solution de projet. Ce qui a fonctionné pour moi était:

OUTILS -> Paramètres d'importation et d'exportation ...-> Réinitialiser tous les paramètres

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.