Cuando intento ejecutar el archivo VC++ 2005 para VC++ 2008:

1>------ Build started: Project: canvas, Configuration: Debug Win32 ------  
1>Compiling...  
1>canvasApp.cpp  
1>c:\documents and settings\ram\my documents\visual studio 2008\demo\stdafx.h(1) : fatal error C1083: Cannot open include file: 'afxwin.h': No such file or directory  
1>canvasFrame.cpp  
1>c:\documents and settings\ram\my documents\visual studio 2008\demo\stdafx.h(1) : fatal error C1083: Cannot open include file: 'afxwin.h': No such file or directory  
1>Generating Code...  
1>Build log was saved at "file://c:\Documents and Settings\ram\My Documents\Visual Studio 2008\demo\Debug\BuildLog.htm"  
1>canvas - 2 error(s), 0 warning(s)  
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========  
InformationsquelleAutor Suraj G | 2011-04-04

4 Comentarios

  1. 10

    Incluyendo el encabezado afxwin.h señaliza el uso de MFC. Las siguientes instrucciones (basado en aquellos en CodeProject.com) podría ayudar a conseguir el código de MFC compilación:

    1. Descargar e instalar el Kit De Controladores De Windows.

    2. Seleccione menú Herramientas > Opciones > Proyectos y Soluciones > Directorios de VC++.

    3. En el menú desplegable Mostrar directorios para seleccione Incluir archivos.

    4. Agregar las siguientes rutas de acceso (reemplazar $(WDK_directory) con el directorio donde está instalado Windows Driver Kit en el primer paso):

      $(WDK_directory)\inc\mfc42
      $(WDK_directory)\inc\atl30

      afxwin.h archivo falta en VC++ Express Edition

    5. En el menú desplegable Mostrar directorios para seleccione archivos de la Biblioteca de y agregar (reemplazar $(WDK_directory) como antes):

      $(WDK_directory)\lib\mfc\i386
      $(WDK_directory)\lib\atl\i386

      afxwin.h archivo falta en VC++ Express Edition

    6. En el $(WDK_directory)\inc\mfc42\afxwin.inl archivo, editar las siguientes líneas (a partir de 1033):

      _AFXWIN_INLINE CMenu::operator==(const CMenu& menu) const
          { return ((HMENU) menu) == m_hMenu; }
      _AFXWIN_INLINE CMenu::operator!=(const CMenu& menu) const
          { return ((HMENU) menu) != m_hMenu; }

      a

      _AFXWIN_INLINE BOOL CMenu::operator==(const CMenu& menu) const
          { return ((HMENU) menu) == m_hMenu; }
      _AFXWIN_INLINE BOOL CMenu::operator!=(const CMenu& menu) const
          { return ((HMENU) menu) != m_hMenu; }

      En otras palabras, añadir BOOL después de _AFXWIN_INLINE.

    • El paso 5 es todavía necesario. El proyecto no puede usar esas líneas, pero son buggy de todos modos y deben ser corregidos.
    • He editado mi respuesta a la inclusión directa de la actualización de las instrucciones, por favor, compruebe ahora.
  2. 6

    Veo la pregunta es acerca de Express Edition, pero este tema es fácil de pop-up en la Búsqueda de Google, y no tiene una solución para otras ediciones.

    Así. Si te encuentras con este problema con cualquiera VS Edition salvo Expresa, puede volver a ejecutar la instalación e incluyen archivos de MFC.

Dejar respuesta

Please enter your comment!
Please enter your name here