【Qt教程25】Windows SDK和Visual Studio Build Tools
【Qt教程25】Windows SDK和Visual Studio Build Tools
原创作者:郑同学的笔记
原文链接:https://zhengjunxue.blog.csdn.net/article/details/151869354
一、Windows SDK和Visual Studio Build Tools
1. Windows SDK (Software Development Kit)
-
1.1、它是什么?:Windows SDK 是一套头文件(Headers)、库文件(Libraries)、元数据、工具和文档的集合。
-
1.2、它的作用?:它为你提供了编写Windows应用程序所需的“建筑材料”。例如,如果你想调用一个Windows API(如 MessageBox 或 CreateFile),这些函数的声明在头文件里,其实现则在库文件中。它还包含像 rc.exe(资源编译器)这样的工具。
-
1.3、核心内容:
Windows.h 等头文件
Kernel32.lib, User32.lib 等库文件
调试工具(如WinDbg)
文档和示例代码
没有Windows SDK,你就不知道如何与Windows操作系统对话。
2. Visual Studio Build Tools
-
2.1、它是什么?:Visual Studio Build Tools 是 编译器、链接器和其他核心构建工具 的独立安装包。它的核心是“引擎”。
-
2.2、它的作用?:它负责将你写的源代码(C++, C#等)编译成目标文件,再链接上SDK提供的库文件,最终生成可执行的程序(如.exe或.dll)。它包含了 cl.exe(C++编译器)、link.exe(链接器)、msbuild.exe(项目构建系统)等。
-
2.3、核心内容:
cl.exe (C/C++ 编译器)
link.exe (链接器)
msbuild.exe (构建平台)
C# 编译器 (csc.exe)
必要的库和框架(如 CRT 运行时库)
没有Build Tools,你就有再多的“建筑材料”(SDK)也无法把它们“建造”成一个可用的程序。
| 特性 | Windows SDK | Visual Studio Build Tools |
|---|---|---|
| 角色 | 建筑材料 (头文件、库) | 建造引擎 (编译器、链接器) |
| 主要内容 | Windows.h, *.lib, 文档, 工具 | cl.exe, link.exe, msbuild.exe |
| 关系 | 不包含 Build Tools | 安装时可选择包含Windows SDK(部分sdk,不包括windows cdb) |
| 必要性 | 开发Windows程序必需 | 编译c++代码必需 |
二、安装Visual Studio Build Tools 后没有找到调试工具(Windows Debugging Tools)
Visual Studio Build Tools 的默认安装确实不会包含 Windows 调试工具(WinDbg, CDB 等),因为它们属于 Windows SDK 的一个可选子组件,即使在安装 SDK 时也需要手动勾选。
- 方法一:通过 Visual Studio Installer 添加(推荐)
点击:“单个组件”。
在右侧的搜索框中输入 “调试工具” 或 “Windows Debugging Tools”
在Visual Studio Installer(vs2022 Installer中没有找到Windows Debugging Tools,其他版本的Visual Studio Installer大家可以自己验证下)
- 方法二:直接使用 Windows SDK 安装程序
分别可以在线安装或者离线安装
三、如何在 Qt Creator 中配置?
前提:安装完Windows SDK和Visual Studio Build Tools
一旦 cdb.exe 安装成功,你就可以在 Qt Creator 中配置 MSVC 套件使用它:
打开 Qt Creator,进入 工具 -> 选项 -> Kits -> Kits 标签页。
选择你已配置好的 MSVC 套件(例如 Desktop Qt %{Qt Version} MSVC2017 64bit)。
在 调试器 一栏中,点击“浏览…”按钮。
导航到上述路径(C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\),选择 cdb.exe。
点击“确定”保存配置。

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)