【问题标题】:ATL headers missing when using the VC++ 2015 toolchain on Visual Studio 2017在 Visual Studio 2017 上使用 VC++ 2015 工具链时缺少 ATL 标头
【发布时间】:2018-01-29 05:06:39
【问题描述】:

我将 Visual Studio 2017 用于 C++ 项目(使用 VS 2015 创建)。我收到以下错误:

1>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\atlmfc\include\afx.h(345):致命错误 C1083:无法打开包含文件:'atltrace.h':没有这样的文件或目录

如何安装 VS 2015 工具链的 ATL/MFC 头文件?

详情

  • “平台工具集”设置(位于“项目属性/常规/平台工具集”)
    • 设置为“Visual Studio 2015 (v140),
    • 将平台工具集更改为“Visual Studio 2017 (v141) 编译正常。
  • 光盘上的文件
    • VS 2015 (C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\atlmfc\include\) 的包含目录包含 afx*.h 文件,但没有 atl*.h 文件。
    • 这些丢失的文件似乎属于VC_ATL.Headers.msi(“Visual C++ Library ATL Headers Package”)(我在另一台机器上检查了这些文件)。我无法安装相应的 msi。 (我从另一台机器上拿走了 msi。)错误:“要安装此产品,请运行 Setup.exe。[...]”。
    • VS 2017 (C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.11.25503\atlmfc\include\) 的相应目录确实包含这些文件。
  • 安装程序
    • 选中“使用 C++/VC++ 2015.3 v140 桌面工具集的 Windows 桌面开发 (x86,x64)”。
    • 在我看来,v140 工具集缺少 ATL/MFC 标头。
    • “使用 C++/MFC 和 ATL 支持(x86 和 x64)的 Windows 桌面开发”似乎不相关,似乎与 VS 2017 版本有关。
  • VC++ redistributable 似乎无关紧要,因为它们不包含头文件。

【问题讨论】:

    标签: c++ visual-studio atl


    【解决方案1】:

    关于 Visual C++ Build Tools 2015 有一个 blog post。这些构建工具也以独立版本发布,无需安装 Visual Studio 2015:

    构建工具与您在 Visual Studio 2015 中获得的 C++ 工具相同,但它们采用可编写脚本的独立安装程序,仅提供构建 C++ 项目所需的工具。

    Microsoft 已包含 ATL/MFC。

    它们可以从http://landinghub.visualstudio.com/visual-cpp-build-tools 下载。确保选择默认取消选择的“ATL and MFC”。

    【讨论】:

    • 当我升级我的项目以使用 v140 工具集时,关闭并重新打开 VS 2015 后,我的项目没有加载。当我尝试加载它时,VS 告诉我需要安装这些工具并带我到安装程序。虽然我已经安装了所有 VS 2015,但看起来我没有。
    • 我希望这个答案中的链接没有损坏,所以我可以看看答案是否有效。
    • @Andrew 您是否尝试过查找链接并将帖子更新为新链接?
    • @MichaWiedenmann 是的。我已经找到并安装了大约 20 GB 的东西来尝试解决这个问题,但绝对没有任何效果。
    • 类似的页面可能是devblogs.microsoft.com/cppblog/…,尽管它似乎并不完全相同,并且标有“2015 Tool”的链接指向 2019。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-11
    相关资源
    最近更新 更多