VC ++ Express Edition中缺少afxwin.h文件

时间:2011-04-04 19:46:15

标签: visual-c++

当我尝试将VC ++ 2005文件运行到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 ==========  

4 个答案:

答案 0 :(得分:30)

发现这篇帖子可能有所帮助: http://social.msdn.microsoft.com/forums/en-US/Vsexpressvc/thread/7c274008-80eb-42a0-a79b-95f5afbf6528/

或者很快,afxwin.h是MFC,MFC不包含在VC ++(Express Edition)的免费版本中。

答案 1 :(得分:9)

包含标题afxwin.h表示使用MFC。以下说明(基于those on CodeProject.com)可以帮助获取MFC代码:

  1. 下载并安装Windows Driver Kit

  2. 选择菜单工具>选项......>项目和解决方案> VC ++目录

  3. 在下拉菜单显示目录中选择包含文件

  4. 添加以下路径(将$(WDK_directory)替换为第一步中安装Windows Driver Kit的目录):

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

  5. 在下拉菜单显示目录中选择图书馆文件并添加(替换之前的$(WDK_directory)):

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

  6. $(WDK_directory)\inc\mfc42\afxwin.inl文件中,修改以下行(从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; }
    

    _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; }
    

    换句话说,在BOOL之后添加_AFXWIN_INLINE

答案 2 :(得分:6)

我看到的问题是关于Express Edition,但这个主题很容易在Google搜索中弹出,并且没有其他版本的解决方案。

因此。如果您遇到除Express之外的任何VS版本的此问题,则可以重新运行安装并包含MFC文件。

答案 3 :(得分:2)

我遇到了同样的问题。最简单的方法是安装免费的Visual Studio Community 2015,如本问题所述 Is MFC only available with Visual Studio, and not Visual C++ Express?