【问题标题】:MFC development in vs2017vs2017中的MFC开发
【发布时间】:2017-08-21 19:00:37
【问题描述】:

当我安装 vs2017 时,我确实选择了带有 C++ 选项的 Windows 开发。但是,安装后,我没有看到 MFC 已添加。果然,当我编译我的应用程序时,我得到了错误,

致命错误 C1083:无法打开包含文件:'afxwin.h':没有这样的文件或目录

我在控制面板中找不到我的 vs2017 安装的更改/修改选项。如何添加“Microsoft Foundation Classes for C++”包?

【问题讨论】:

标签: mfc visual-studio-2017


【解决方案1】:

在带有 Visual Studio 2017 社区版的 Windows 10 中,要修改 Visual Studio 2017 安装,我必须从 Windows 开始菜单进入 设置,然后在搜索框中输入“应用程序和功能”以调出已安装应用程序的列表(只需输入“应用程序”即可将其显示在列表中)。

然后我在应用程序列表中查找 Microsoft Visual Studio 2017,单击该条目,然后显示“修改”按钮。单击“修改”按钮将打开安装程序,允许您修改各种组件。

我见过安装程序希望在允许您执行修改操作之前更新 Visual Studio 2017 的情况。取决于您上次使用它的时间以及您上次进行更新的时间。

因此,可能不是修改按钮,而是更新按钮。

注意:另请参阅How to install (v142) Build tools in Visual studio,它描述了在安装 VS 2017 和 VS 2019 时出现的安装顺序问题。

VS 2017 修改对话框包含三个选项卡,“工作负载”、“单个组件”和“语言包”。单击“单个组件”,然后向下滚动到标题为“SDK、库和框架”的部分,这是我安装的最后一部分。应该有一个“MFC 和 ATL 支持(x86 和 x64)”条目,并在末尾附近有一个复选框。

“修改安装”对话框的“单个组件”视图中有很多可用的东西。

【讨论】:

    【解决方案2】:

    只是为VS 2019添加一个提示:

    @Jerry Coffin's answer 很好地布置了 VS 2019 中 MFC/ATL 选项的爆炸式增长。由于选项很多且每个 MFC 包为 1.1+GB,以下是如何选择合适的。

    平台:希望您知道这一点 :) 但它在项目属性中。

    版本:对于现有项目,在“配置属性->常规->平台工具集”下的项目属性中找到

    下面是显示两者的屏幕截图(在本例中为 Win32=x86)。在这种情况下,我需要“C++ MFC for v141 build tools (x86 & x64)”

    【讨论】:

      【解决方案3】:

      如果您查看 VS 安装程序窗口顶部附近,您会看到 WorkloadsIndividual ComponentsLanguage Packs

      至少据我所知,没有一个“工作负载”会在您的安装中包含 MFC。要获得它,您首先必须单击“Individual Components”,然后向下滚动很长一段距离以到达“SDK、库和框架”部分。在那里,您会找到 ATL 和 MFC 支持的组件列表:

      在 VS 2019 安装程序中,可能性列表变得更长。对于 141 和 142 构建集,有 ARM、ARM64 和 x86/x64 版本,有和没有 Spectre 缓解措施:

      这不一定是故事的结局:默认情况下,即使您安装它,它也只会安装 MFC 的 Unicode 版本。如果您想要窄字符版本,则必须单独安装。我认为安装程序中根本没有任何条目可以执行此操作 - 但如果您尝试构建使用窄字符 MFC 的项目,您将收到一条错误消息,其中包含下载链接。

      【讨论】:

      • 我刚刚在最新版本的 VS2017 中尝试过,默认没有启用,所以@JerryCoffing 是对的,你必须手动启用它,无论是从工作负载窗格还是从“个人”组件”窗格(它们都选择相同的包)。
      • 它看起来像“MFC 和 ATL 支持”was removed in VS installer v.1.16.1247.518
      • @StevenM.Vascellaro:我已经编辑了答案以显示如何处理当前安装程序。
      • @JerryCoffin “MFC 和 ATL 支持”是如何分成 30 个不同的组件的?
      • @StevenM.Vascellaro:正如答案中所指出的,“对于 141 和 142 构建集,有 ARM、ARM64 和 x86/x64 的版本,有和没有 Spectre 缓解措施。” IOW,组合爆炸。
      【解决方案4】:

      您应该使用 Visual Studio 安装程序 进行更改。

      要创建 MFC 项目,您只需为您的应用程序类型选择 Win32 项目/Win32 控制台应用程序,然后单击确定。在应用程序向导中,点击下一步,在应用程序设置中,勾选Add common header files for:下的MFC

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-06-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-31
        • 1970-01-01
        • 1970-01-01
        • 2011-05-29
        相关资源
        最近更新 更多