cmake Windows 10 SDK

Posted

技术标签:

【中文标题】cmake Windows 10 SDK【英文标题】: 【发布时间】:2016-03-05 20:08:49 【问题描述】:

尝试在带有 Visual Studio 编译器的 Windows 10 上使用 cmake 编译 VTK ...但是,cmake 说“找不到安装在这台机器上的适当版本的 Windows 10 SDK”。 好的。所以我安装了 Windows 10 SDK 但同样的错误不断发生。

知道有什么问题吗?我已经重新安装了cmake,但没有成功。

谢谢, 埃里克

【问题讨论】:

您必须删除构建目录中的 CMakeCache.txt 文件。否则,CMake 将使用第一次运行的结果,您尚未安装 Windows 10 SDK。 已经做了几次,但没有成功。 您使用的是 CMake 3.4 吗?我认为早期版本不太可能支持 Windows 10。 我用的是最新版本。 (3.4.1) 【参考方案1】:

您需要安装 windows sdk,除非它不起作用。 cmake 需要 windows sdk 才能运行 cmake 编译器。安装windows sdk,

    从开始菜单转到 Visual Studio 安装程序。 选择“修改” enter image description here 选择“单个组件” 在即将出现的菜单中找到 windows SDK (最新版本) enter image description here 然后选择修改。

【讨论】:

【参考方案2】:

我也遇到了同样的问题,就我而言,这是因为我刚刚安装的 SDK 的目标是 10.0.10586.0

ls "C:\Program Files (x86)\Windows Kits\10\include\"


    Directory: C:\Program Files (x86)\Windows Kits\10\include


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----        12/4/2015  12:27 AM                10.0.10586.0

但我的系统被 cmake 检测为:

系统为:Windows - 10.0.10240 - AMD64

如果将 include\10.0.10586.0 文件夹重命名为 include\10.0.10240,则会找到 SDK。

【讨论】:

我的 C:\Program Files (x86)\Windows Kits\10\Include` folder has: 10.0.10150.0/` 和 10.0.10240.0/ 和 CMake 报告:The system is: Windows - 10.0.10240 - AMD64 内部版本号匹配 (10240),但我仍然得到 CMake Error at CMakeLists.txt:3 (project): Could not find an appropriate version of the Windows 10 SDK installed on this machine 任何想法? 我的 bug 被发现并被 CMake 开发人员 (cmake.org/Bug/view.php?id=15831) 解决,但至少在 CMake v3.4.2(我使用的版本)中不是这样。 :( 不得不降级到 CMake 3.3.2,一切似乎都很好。 遇到了同样的问题,我从微软安装了 Windows 10 SDK:dev.windows.com/en-us/downloads/windows-10-sdk,cmake 开始正常工作。 你是怎么得到这个信息“系统是:Windows ...”,什么命令或cmake变量产生这个? 您应该安装正确版本的SDK,而不是将新版本重命名为旧版本,否则可能会因header更改而导致编译失败。

以上是关于cmake Windows 10 SDK的主要内容,如果未能解决你的问题,请参考以下文章

Cmake 无法正确生成 assimp 解决方案 [Windows 10]

windows10下安装opencv,cmake 时报错

在 Windows 10 上安装 dlib 的问题(已安装 Cmake)

在 Windows 10 上使用 Armadillo 作为库与 CLion 和 CMake 的问题

[CMake + MinGW + Windows 10上的Clang

在Windows 10上的CLion / CMake中“无法找到SFML”错误?