1. Visual Studio 和 Visual Studio Build Tools

Visual Studio 说的是一个 IDE,通常用图形界面去用它。
Visual Studio Build Tools 说的是只包含命令行工具和其它必要文件(库、头文件等)的一个工具。

Walkthrough: Compiling a Native C++ Program on the Command Line

2. Visual Studio 和 Windows SDK 版本关系

在尝试移植编译 pycocotools 到 win10 系统时,我使用 VS2017, 发现提示报错 “io.h找不到” 。仔细看了构建命令,发现找错了头文件搜索目录:在C:\Program Files (x86)\Windows Kits\10\Include目录下,分别有17763和18362两本版本的 Win10 SDK 的目录;在 Visual Studio Installer 里找了一番,VS2019 里才有 18362 , VS2017里没有它(可能是之前vs2019没卸载干净)

Visual Studio SDK的一个问题排查

这导致了 pycocotools 的编译输出信息中,头文件被“一通乱找”,原本应该是:

-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt

被弄成了:

-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt

而 ucrt 目录下确实有我们需要的 "io.h" 文件:
Visual Studio SDK的一个问题排查

尝试在 Visual Studio Installer 中安装了VS2019,并且选择了 18362, 确实会增加安装ucrt等目录;但是卸载VS2019的话,ucrt等新增目录会被删掉,而原来就有的几个目录巍然不动:
Visual Studio SDK的一个问题排查

于是到控制面板搜索"Windows",找到了Windows Driver Kit,没错这货就是Win 10 SDK,版本是 18362,卸载它:
Visual Studio SDK的一个问题排查

相关文章:

  • 2021-11-25
  • 2021-08-01
  • 2021-04-29
  • 2021-08-21
  • 2021-07-16
  • 2021-06-22
  • 2021-08-09
猜你喜欢
  • 2021-07-03
  • 2021-05-18
  • 2022-12-23
  • 2022-02-10
  • 2022-01-11
  • 2022-12-23
  • 2021-11-18
相关资源
相似解决方案