无法打开源文件 "afxwin.h"/"afxext.h"/"afxdisp.h"/"afxdtctl.h"/"afxcmn.h"/afxdisp.h 等。

17
我试图在安装了多字节MFC库的Visual Studio 2015 MFC上运行以前编写的MFC C ++代码。
然而,我仍然有12个错误,涉及缺少函数:
IntelliSense:无法打开源文件“afxwin.h” C1083无法打开包括文件:“afxwin.h”:没有那个文件或目录 无法打开源文件“afxext.h”/“afxdisp.h”/“afxdtctl.h”/“afxcmn.h”/“afxdisp.h”等...
我应该去哪里获得这些头文件?
再次重申我的设置: Visual Studio 2015 Ultimate MFC 已安装多字节MFC库 Windows 8 - 64位机器
谢谢!

这些文件是与Visual Studio一起安装的。要么您搞砸了包含目录设置,要么它们没有被安装。 - Captain Obvlious
哦,好的,知道了。我有一个问题,你能告诉我普通 VS 2015 Ultimate 安装的目录在哪里吗? - Curly
2
我在以下目录下找到了 "afxwin.h":C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\atlmfc\include\。请问我该如何在我的代码中包含这个目录?谢谢! - Curly
2
我认为你所需要做的就是在VC项目属性中选择一个合适的平台工具集。应该类似于“v140”。 - cha
我自己解决了这个问题。在解决方案资源管理器中右键点击 "外部依赖项",点击 "类向导"。所有位于 \include 下的内容将自动安装。 - Curly
在我的情况下(MSVC2022),我仍然无法通过VS Installer下载MFC库包而出现错误。最终,唯一有效的解决方案是从另一台电脑复制atlmfc目录并将其粘贴到我的电脑上。 - LM.Croisez
3个回答

22

我刚刚解决了一个类似的问题。以下是您可以解决此问题的方法。

  1. 进入控制面板
  2. 导航至"卸载/更改程序"。
  3. 向下滚动直到看到Visual Studio安装
  4. 点击“更改”
  5. 弹出窗口后,点击“修改”
  6. 在“程序语言”->“Visual C++”下,确保选中“Microsoft Foundation Classes for C++”。如果没有选中,请选中并单击“更新”。

我在Visual Studio 2005中没有看到这个选项(使用旧版本来针对遗留的Windows CE 6.0应用程序)。有什么建议在这种情况下如何安装此组件? - jacobq
对于我的情况,即使我在VS2017 / VS2019中打开项目,我仍需要使用VS2015安装程序来完成此操作。 - Malachi
8
打开VS2019安装程序,选择您的安装版本并选择“C++ ATL for latest xxx build tools (xxx)”和“C++ MFC for latest xxx build tools (xxx)”这两个选项。请根据您所使用的版本和平台相应地替换“xxx”。注意不要改变原意。 - dab0bby
我在一个项目中遇到了同样的错误,因为另一个MFC项目可以正常工作,所以MFC已经正确安装。我已经比较了两个项目的设置,但没有找到解决方法 :( - Juan Rojas

9

对于VS2019,上述解决方案对我无效。

我需要前往“安装程序 -> 按个人喜好选择组件 ->”并安装以下内容来解决问题:

  • "MSVC v141 – VS 2017 C++ x64/x86 构建工具 (v14.16)"
  • "C++ MFC for v141 构建工具 (x86 & x64)"
  • "C++ ATL for v141 构建工具 (x86 & x64)"

2
将“工具->获取工具和功能[打开VS安装程序并选择您当前正在使用的VS实例]->单个组件[顶部选项卡,而不是右侧窗格中的“单个组件”]。勾选所需组件,然后单击“修改”。版本('v141')必须与项目的目标框架匹配(解决方案资源管理器[右键单击项目]->属性->配置属性->常规->平台工具集)。您确定的三个组件位于名为“编译器、构建工具和运行时”以及“SDK、库和框架”的部分中。 - Jimbo1987

2
就我所知,在安装了VS2017之后,我也遇到了类似的错误。我从主安装程序中安装了C++特性,并创建了一个选中MFC的新项目。我认为此时应该已经安装了“Microsoft Foundation Classes for C ++”,但我仍然收到这些错误。此外,在首次保存和关闭解决方案后,如果我从最近使用的列表中打开解决方案,VS将无法加载项目,因为缺少依赖项。 对我有效的方法 我直接使用VS2017打开了解决方案文件。最终,VS告诉我没有安装“Microsoft Foundation Classes for C ++”,并给了我安装它的选项。我之前浏览过安装程序功能,但找不到这个选项。 编辑 根据Vladimir下面的评论...
在2017年版的Visual Studio Installer中,["Microsoft Foundation Classes for C ++"]位于修改/单独组件/SDKs.../MFC和ATL支持(x86和x64)下。

5
在2017年的Visual Studio Installer中,它位于“修改/各个组件/SDKs... / MFC和ATL支持(x86和x64)”下。 - Vladimir Shutow
这个帮助了我很多。我花了近半天的时间搜索应该安装哪个版本或者哪些组件。(y) 谢谢@VladimirShutow - Chintan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接