Qt 项目编译错误排查与解决记录
Qt 项目编译错误排查与解决记录项目信息项目路径D:\ai_xi_bai_projext_code\code\Chap01_Intro\samp1_1HelloWorldQt 版本Qt 6.2.4 MSVC 2019 64bit编译器MSVC 2019 (Visual Studio 2019)操作系统Windows 11通用背景为什么需要在 .pro 中手动配置 SDK 路径本项目的编译环境Qt 6.2.4 MSVC 2019由于安装方式或环境配置原因qmake 未能自动检测到 Windows SDK 的路径导致编译器和链接器不知道去哪里找 SDK 的头文件和库文件。因此必须在.pro文件中手动指定 SDK 路径。Windows SDK 的目录结构如下C:\Program Files (x86)\Windows Kits\10\ ├── Include\10.0.19041.0\ │ ├── ucrt\ ← C 运行时头文件stddef.h, crtdbg.h, stdio.h … │ ├── um\ ← 用户模式 API 头文件windows.h, shellapi.h … │ └── shared\ ← 共享头文件 ├── Lib\10.0.19041.0\ │ ├── ucrt\x64\ ← C 运行时库libucrt.lib … │ └── um\x64\ ← 用户模式 API 库shell32.lib, user32.lib … └── bin\10.0.19041.0\ └── x64\ ← SDK 工具rc.exe, mt.exe …下面三个错误根源都是.pro中手动配置的 SDK 路径不完整——只配了ucrt缺少um和shared。错误一C1083 找不到 UCRT 头文件stddef.h / crtdbg.h / yvals.h错误现象cstddef:12: error: C1083: 无法打开包括文件: stddef.h: No such file or directory yvals.h:12: error: C1083: 无法打开包括文件: crtdbg.h: No such file or directory cstddef:12: error: C1083: 无法打开包括文件: stddef.h: No such file or directory根因这三个是编译阶段的错误比链接错误更早出现。stddef.h、crtdbg.h是UCRTUniversal C Runtime的头文件它们被 MSVC 的cstddef、yvals.h等 C 标准库头文件间接引用只有把$$SDK_ROOT/Include/$$SDK_VER/ucrt加入INCLUDEPATH编译器才能找到它们当.pro中未添加任何 SDK Include 路径时编译器在默认搜索路径中找不到这些头文件导致编译失败。这些错误先于链接错误出现是排查的第一步。错误二LNK1104 找不到系统库shell32.lib错误现象:-1: error: LNK1104: 无法打开文件shell32.lib根因这是链接阶段的错误。编译通过后链接器需要将系统 API 库如shell32.lib链接到可执行文件。Windows SDK Lib 子目录包含内容ucrt\x64\C 运行时库libucrt.lib 等um\x64\系统 API 库shell32.lib、user32.lib、kernel32.lib 等shell32.lib位于Lib\10.0.19041.0\um\x64\但.pro中只添加了-L$$SDK_ROOT/Lib/$$SDK_VER/ucrt/x64UCRT 库路径缺少了um/x64路径链接器在 UCRT 目录下找不到shell32.lib错误三LNK1158 找不到 rc.exe错误现象:-1: error: LNK1158: 无法运行rc.exe排查过程确认 rc.exe 存在C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64\rc.exe存在C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x64\rc.exe存在检查 VS 2019 MSVC 工具链目录D:\visual_studio_2019\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\下没有rc.exe检查 PATH 环境变量PATH 中未包含 Windows SDK 的 bin 目录根因rc.exe资源编译器是Windows SDK的工具不属于 MSVC。链接器在链接完成后需要用rc.exe将 manifest 嵌入 exe但 PATH 中找不到 SDK bin 目录。统一解决方案第一步修复 .pro 文件解决错误一 错误二补全所有 3 个 SDK 子目录的 Include编译用和 Lib链接用路径SDK_ROOT C:/Program Files (x86)/Windows Kits/10 SDK_VER 10.0.19041.0 # Include 路径 —— 编译器找头文件用 INCLUDEPATH $$SDK_ROOT/Include/$$SDK_VER/ucrt # C 运行时头文件stddef.h 等 INCLUDEPATH $$SDK_ROOT/Include/$$SDK_VER/um # 系统 API 头文件 INCLUDEPATH $$SDK_ROOT/Include/$$SDK_VER/shared # 共享头文件 # Lib 路径 —— 链接器找 .lib 用 LIBS -L$$SDK_ROOT/Lib/$$SDK_VER/ucrt/x64 # C 运行时库 LIBS -L$$SDK_ROOT/Lib/$$SDK_VER/um/x64 # 系统 API 库shell32.lib 等 # 额外的编译选项 QMAKE_CXXFLAGS /I$$SDK_ROOT/Include/$$SDK_VER/ucrt QMAKE_CXXFLAGS /I$$SDK_ROOT/Include/$$SDK_VER/um QMAKE_CXXFLAGS /I$$SDK_ROOT/Include/$$SDK_VER/shared第二步添加 SDK bin 到 PATH解决错误三将以下路径添加到用户环境变量 PATHC:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64第三步清理并重新构建删除旧的 build 目录让 qmake 重新生成 Makefile重启 Qt Creator让新 PATH 生效重新qmake - Build提示如果通过 Visual Studio 的Developer Command Prompt for VS 2019启动 Qt Creator开发环境会自动配好所有 SDK 路径从根本上避免以上三个错误。经验总结Windows SDK 目录结构要记清Include/下有ucrt/、um/、shared/三个子目录Lib/下同样有ucrt/、um/两个子目录bin/下有rc.exe等工具手动配置 SDK 路径时必须同时添加 Include 和 Lib 的所有必要子目录ucrt um shared缺一不可三个错误的本质是同一问题缺ucrtInclude → 编译报 C1083找不到 stddef.h, crtdbg.h缺umLib → 链接报 LNK1104找不到 shell32.lib缺binPATH → 链接后报 LNK1158找不到 rc.exe出问题看 Makefile.pro修改后运行 qmake 会生成 MakefileMakefile.Debug 里的LIBS、INCPATH等变量直接反映最终编译配置是排查的关键最佳的启动方式通过Developer Command Prompt for VS启动 Qt CreatorSDK 路径、环境变量全都自动配好可以彻底避免此类问题

相关新闻

TMS320C2x DSP汇编指令深度解析:从MAR、MPY到NORM的实战指南

TMS320C2x DSP汇编指令深度解析:从MAR、MPY到NORM的实战指南

1. 项目概述:为什么我们要深挖TMS320C2x汇编指令?如果你正在或即将与德州仪器(TI)的TMS320C2x系列数字信号处理器(DSP)打交道,尤其是在电机控制、音频编解码或早期通信设备等对实时性和效率有极…

2026/7/27 5:48:41 阅读更多 →
Matlab数值求解轴承润滑方程与工程应用

Matlab数值求解轴承润滑方程与工程应用

1. 轴承润滑方程数值求解的工程背景与价值轴承作为旋转机械的核心部件,其润滑状态直接影响设备寿命和运行效率。经典的雷诺润滑方程描述了油膜压力分布与轴承几何参数、工况条件之间的数学关系。传统解析解法仅适用于简单边界条件,而实际工程中复杂的轴承…

2026/7/27 5:48:41 阅读更多 →
Unity游戏开发:从基础到进阶的智能追踪导弹系统实现与优化

Unity游戏开发:从基础到进阶的智能追踪导弹系统实现与优化

1. 项目概述:从“打不准”到“躲不掉”的智能追踪在任何一个射击游戏里,让玩家感到“爽快”的,除了精准的枪法,往往还有那些带有智能追踪效果的武器。想象一下,你发射出一枚导弹,它拖着长长的尾焰&#xff…

2026/7/27 5:48:41 阅读更多 →

最新新闻

Gemini 3 零基础实战:从安装到性能优化全攻略

Gemini 3 零基础实战:从安装到性能优化全攻略

1. Gemini 3 零基础实战指南:从入门到精通的完整路径第一次接触Gemini 3时,我和大多数新手一样被它强大的功能所震撼,但也为复杂的界面感到困惑。经过三个月的深度使用和六个实际项目的验证,我总结出这套最适合零基础用户的学习路…

2026/7/27 5:59:45 阅读更多 →
阿里灵骏 64卡超节点和真武M890芯片

阿里灵骏 64卡超节点和真武M890芯片

阿里灵骏 64卡超节点和真武M890芯片 开篇说明: 阿里超节点为数不多的已经投入商用的超节点产品,WAIC发布的小10套的样子,多数是样机当然肯定强于PPT。 2026 WAIC 阿里云正式发布灵骏真武 M890 超节点实例,以超节点形态&#xff0…

2026/7/27 5:59:45 阅读更多 →
解决C/C++跨平台开发中strings.h缺失问题的完整指南

解决C/C++跨平台开发中strings.h缺失问题的完整指南

1. 问题现象与根源剖析 如果你在C或C项目中,突然遇到编译器报错,提示类似 fatal error: strings.h: No such file or directory 或者 cannot open source file "strings.h" ,先别急着怀疑人生。这个错误在跨平台开发、特别是从…

2026/7/27 5:59:45 阅读更多 →
ctfhub random

ctfhub random

根据题目可知这是一个随机数机器,猜测下一个数是什么,我们可以用burp suite 爆破一下,相当于与下一个数进行碰撞发送到intruder模块,自动添加payload,攻击方式选择sniper开始攻击找到长度唯一不一样的得到答案ctfhub{c69f254996c6…

2026/7/27 5:59:45 阅读更多 →
【数字孪生工业应用实战】第2篇:数字孪生系统架构设计与技术选型——从“作秀”到“实干”的骨架构建

【数字孪生工业应用实战】第2篇:数字孪生系统架构设计与技术选型——从“作秀”到“实干”的骨架构建

【数字孪生工业应用实战】第2篇:数字孪生系统架构设计与技术选型——从“作秀”到“实干”的骨架构建 摘要 数字孪生已褪去概念热炒的外衣,步入价值落地的深水区。然而,多数项目在从POC转向生产环境时,因架构设计混乱和技术选型盲目而折戟。本文将系统性地剖析数字孪生系…

2026/7/27 5:59:45 阅读更多 →
从残差连接到mHC:大模型架构的范式转移

从残差连接到mHC:大模型架构的范式转移

1. 从残差连接到mHC:大模型架构的范式转移在深度学习领域,残差连接(Residual Connection)自2015年ResNet提出以来,已成为神经网络架构设计的基石。这种设计通过引入"捷径连接"(shortcut connecti…

2026/7/27 5:58:45 阅读更多 →

日新闻

【JAVA毕设源码分享】基于SpringBoot的社区智能垃圾管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

【JAVA毕设源码分享】基于SpringBoot的社区智能垃圾管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/27 0:00:54 阅读更多 →
SPI实战指南:从时钟模式到寄存器配置,解决嵌入式通信难题

SPI实战指南:从时钟模式到寄存器配置,解决嵌入式通信难题

1. 项目概述:从寄存器手册到实战指南 如果你手头有一份类似德州仪器(TI)TMS320x240xA系列DSP的SPI模块技术手册,看着里面密密麻麻的寄存器位定义、时序图和公式,是不是感觉头大?这份资料虽然权威&#xff0…

2026/7/27 0:00:54 阅读更多 →
【JAVA毕设源码分享】基于springboot的水果购物管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

【JAVA毕设源码分享】基于springboot的水果购物管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/27 0:00:54 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/27 4:33:59 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/26 0:00:31 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/27 4:01:12 阅读更多 →

月新闻