‘corecrt.h’: No such file or directory
用 cmake 以 Visualo C++ 2015 编译 OpenCV 的时候提示“’corecrt.h’: No such file or directory”错误。搜索这个文件,它位于 Windows SDK 10;Windows SDK 10 是允许存在多个版本的,corecrt.h 就位于具体的版本中。
查看命令提示符中的 INCLUDE 环境变量,引入的 Windows SDK 10 并没有带具体版本号。
那说明构建 Visualo C++ 2015 编译环境的脚本取的数据有问题。我用的是 Build Tools,对应的是 vcbuildtools.bat 脚本。里面出问题的是下面这行代码:
@if not "%WindowsSdkDir%"=="" @FOR /F "delims=" %%i IN ('dir "%WindowsSdkDir%include\" /b /ad-h /on') DO @set WindowsSDKVersion=%%i\
这里得到的 WindowsSDKVersion 为 wdf。再在网上查 wdf,指向的是 Windows Driver SDK。把系统中的 Windows Driver SDK 删除后,问题就消失了。