cmake error MSB8036: 找不到 Windows SDK 版本8.1

使用cmake+qt5+vs2017生成解决方案报错:

D:\build\test\Reader_qt5\build2017>cmake ../ -G "Visual Studio 15 2017"
CMake Error at CMakeLists.txt:14 (project):
  Failed to run MSBuild command:

    d:/Program Files (x86)/Microsoft Visual Studio/2017/Community/MSBuild/15.0/Bin/MSBuild.exe

  to get the value of VCTargetsPath:

    用于 .NET Framework 的 Microsoft (R) 生成引擎版本 15.9.21+g9802d43bc3
    版权所有(C) Microsoft Corporation。保留所有权利。

    生成启动时间为 2024/12/17 10:17:21。
    节点 1 上的项目“D:\build\test\Reader_qt5\build2017\CMakeFiles\3.17.1\VCTargetsPath.vcxproj”(默认目标)。
    d:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.Cpp.WindowsSDK.targets(46,5): error MSB8036: 找不到 Windows SDK 版本8.1。请安装所需的版本的 Windows SDK 或者在项目属性页中或通过右键单击解决方案并选择“重定解决方案目标”来更改 SDK 版本。 [D:\build\test\Reader_qt5\build2017\CMakeFiles\3.17.1\VCTargetsPath.vcxproj]
    已完成生成项目“D:\build\test\Reader_qt5\build2017\CMakeFiles\3.17.1\VCTargetsPath.vcxproj”(默认目标)的操作 - 失败。

    生成失败。

解决:

适用情况

使用VS2017+Qt5新建Qt程序时,Windows SDK版本默认被设置为8.1。
而VS2017安装的Windows SDK版本为10.0.16299.0。
每次都需要修改SDK版本才能进行编译。如果不修改则会报错。

自己动手修改默认Windows SDK版本为10.0.16299.0

找到Qt VS Tools安装目录 C:\Users\***\AppData\Local\Microsoft\VisualStudio\15.0_40f57358\Extensions

这里是Extensions的安装目录,文件夹内即安装的插件的内容(名字是随机的)。

找到Qt VS Tools的目录

打开chkvpks3.3mz\ProjectTemplates\VC\Qt\1033\gui,这里就是创建模版存放的位置。找到需要修改的模版,比如我要修改gui。

进入目录,用记事本打开gui.vcxproj项目文件。

PropertyGroup里面添加<WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>,保存即可。

再创建的Gui程序的默认Windows SDK版本就是想要的10.0.16299.0了。

参考:https://liuchang0523.github.io/2017/12/%E4%BF%AE%E6%94%B9Qt-VS-Tools%E6%A8%A1%E7%89%88/

改成version 4.1.2,執行cmake ../ ,這次錯誤資訊如下: CMake Deprecation Warning at CMakeLists.txt:2 (cmake_minimum_required): Compatibility with CMake < 3.10 will be removed from a future version of CMake. Update the VERSION argument <min> value. Or, use the <min>...<max> syntax to tell CMake that the project requires at least <min> but has been updated to work with policies introduced by <max> or earlier. CMake Error at CMakeLists.txt:5 (project): Failed to run MSBuild command: C:/Program Files (x86)/MSBuild/14.0/bin/MSBuild.exe to get the value of VCTargetsPath: Microsoft (R) Build Engine version 14.0.25420.1 Copyright (C) Microsoft Corporation. 著作權所有,並保留一切權利。 已經開始建置於 2025/11/5 下午 04:50:17。 節點 1 (預設目標) 上的專案 "C:\Users\kao02\Desktop\project\wrapper\CMakeFiles\4.1.2\VCTargetsPath.vcxproj"。 C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Platforms\Win32\PlatformToolsets\v140\Toolset.targets(34,5): error MSB8036: The Windows SDK version 8.1 was not found. Install the required version of Windows SDK or change the SDK version in the project property pages or by right-clicking the solution and selecting "Retarget solution". [C:\Users\kao02\Desktop\project\wrapper\CMakeFiles\4.1.2\VCTargetsPath.vcxproj] 專案 "C:\Users\kao02\Desktop\project\wrapper\CMakeFiles\4.1.2\VCTargetsPath.vcxproj" (預設目標) 建置完成 -- 失敗。 建置失敗。 "C:\Users\kao02\Desktop\project\wrapper\CMakeFiles\4.1.2\VCTargetsPath.vcxproj" (預設目標) (1) -> (Desktop_PlatformPrepareForBuild 目標) -> C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Platforms\Win32\PlatformToolsets\v140\Toolset.targets(34,5): error MSB8036: The Windows SDK version 8.1 was not found. Install the required version of Windows SDK or change the SDK version in the project property pages or by right-clicking the solution and selecting "Retarget solution". [C:\Users\kao02\Desktop\project\wrapper\CMakeFiles\4.1.2\VCTargetsPath.vcxproj] 0 個警告 1 個錯誤 經過時間 00:00:00.94 Exit code: 1
最新发布
11-06
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值