当前位置: 首页 > article >正文

开发笔记:VSCode + Qt + clangd 明明能正常运行却满屏红波浪线

目录开发笔记VSCode Qt clangd 明明能正常运行却满屏红波浪线前言一、问题现象二、根本原因两套工具互不沟通三、完整解决方案方案 1配置 .clangd最推荐、最根治方案 2自动生成 compile_commands.json方案 3代码层面简单清理方案 4懒人兜底不想配置就关掉四、总结前言最近在用 VSCode 搭配 MinGW 开发 Qt 项目遇到一个特别典型的问题代码编译、运行完全正常功能一点问题都没有但编辑器里全是红色报错波浪线提示找不到头文件、未定义标识符、不识别编译参数等。折腾一番后彻底搞懂了原因这里做一篇完整记录方便以后复用。一、问题现象项目可以正常qmakemingw32-make生成的 exe 也能跑起来但 VSCode 里持续报以下几类错误mainwindow.h file not found ui_mainwindow.h file not found type_traits file not foundQt 类型不识别Unknown type name QWidget Unknown type name QString Use of undeclared identifier MainWindow编译选项不兼容Unknown argument: -fno-keep-inline-dllexport Unsupported option -mthreads简单说编译器认编辑器不认。二、根本原因两套工具互不沟通核心就一句话真正编译项目的 MinGW和 VSCode 做代码提示的 clangd是两套完全独立的工具。项目构建使用MinGW/g目标平台x86_64-w64-windows-gnu自带 Qt 头文件路径、宏定义、依赖配置静态分析使用clangd默认目标平台x86_64-pc-windows-msvcVS 编译器不知道 Qt 装在哪不认识 MinGW 专属编译参数没定义 Qt 必需的宏QT_CORE_LIB等所以出现了最离谱的情况程序跑得飞起clangd 却一脸懵圈。三、完整解决方案方案 1配置 .clangd最推荐、最根治在 Qt 项目根目录新建文件.clangd内容如下路径按自己环境改CompileFlags: Add: # 强制 clangd 使用 MinGW 目标 - --targetx86_64-w64-windows-gnu # 项目头文件路径 - -Iinclude - -Isrc # Qt 安装路径改成你自己的 - -ID:/software/QT/6.10.2/mingw_64/include - -ID:/software/QT/6.10.2/mingw_64/include/QtCore - -ID:/software/QT/6.10.2/mingw_64/include/QtGui - -ID:/software/QT/6.10.2/mingw_64/include/QtWidgets # MOC / UI 自动生成文件路径 - -Ibuild/moc - -Ibuild/ui # C 标准与宏 - -stdc17 - -DUNICODE - -D_UNICODE - DQT_CORE_LIB - DQT_GUI_LIB - DQT_WIDGETS_LIB # 移除 clangd 不认识的 MinGW 参数 Remove: - -fno-keep-inline-dllexport - -mthreads保存后杀掉clangd.exe重启 VSCode大部分红波浪线直接消失。方案 2自动生成 compile_commands.json在你的.pro文件中加一行CONFIG compile_commands_json执行qmake构建目录会生成compile_commands.json把它复制到项目根目录。clangd 会自动读取所有编译参数一劳永逸。方案 3代码层面简单清理很多报错是多余头文件导致的顺手清理一下纯手写 UI、没有用.ui文件 → 删除#include ui_mainwindow.h使用QMenu、QAction等 → 补上对应头文件如#include QMenu路径避免中文、空格clangd 对中文路径支持很差方案 4懒人兜底不想配置就关掉如果只是不想看红波浪线直接关闭错误提示VSCode 设置搜索C_Cpp.errorSquiggles设为Disabled即可。不推荐会掩盖真实错误四、总结VSCode 报红 ≠ 代码错误多半是 clangd 没配置对环境核心矛盾MinGW 编译 vs clangd 默认 MSVC 目标最优解.clangd指定目标平台 头文件路径 Qt 宏一劳永逸用compile_commands.json让 clangd 跟编译器保持一致代码层面清理无用头文件避免中文路径这套配置之后VSCode Qt MinGW 开发体验基本接近 Qt Creator又能保留 VSCode 的轻便与插件生态。

相关文章:

开发笔记:VSCode + Qt + clangd 明明能正常运行却满屏红波浪线

目录 开发笔记:VSCode Qt clangd 明明能正常运行却满屏红波浪线 前言 一、问题现象 二、根本原因:两套工具互不沟通 三、完整解决方案 方案 1:配置 .clangd(最推荐、最根治) 方案 2:自动生成 comp…...

2026年知网AIGC检测卡在20%降不下去怎么办?这3招解决

直接说方案,不绕弯子。知网AIGC检测不通过、降AIGC率、降AI这个问题,核心是找准降不下去的原因,再用对工具。 我花了一个月测出来的结论:用嘎嘎降AI(www.aigcleaner.com) 全文上传,基本能解决大…...

C++ 控制流完整性(CFI):防御面向返回编程(ROP)攻击的编译器加固方案

各位来宾,各位技术同仁,大家好!今天,我们齐聚一堂,探讨一个在现代软件安全领域至关重要的话题:C 控制流完整性(CFI)及其在防御面向返回编程(ROP)攻击中的作用…...

请解释 Linux 系统中的内核模块管理,并描述如何加载和卸载模块。

在 Linux 系统中,内核模块(Kernel Modules) 是可以在不重新编译或重启内核的情况下,动态添加到运行中内核的代码片段。它们通常用于支持新的硬件设备、文件系统或网络协议。 这种机制使得 Linux 内核保持精简(核心功能…...

基于S7-200 PLC与组态王技术的温室大棚控制方案:包含梯形图原理图、IO分配及组态画面详解

基于S7-200 PLC和组态王温室大棚控制 我们主要的后发送的产品有,带解释的梯形图接线图原理图图纸,io分配,组态画面菜农张叔上周还给我打电话吐槽:“小王啊,上周那场降温加突然转晴,我三点爬起来盖半层棉被…...

融智学三大基本定律——信息世界的根本法则体系:为跨模态知识处理、人机协同等前沿领域提供原理支撑

融智学三大基本定律——信息世界的根本法则体系摘要:融智学三大基本定律构成信息处理的核心理论体系。第一定律(实部序位关系唯一守恒)确立本质信息的稳定性;第二定律(实部序位同义并列对应转换)实现多元表…...

解决Canal 连接数据库超时问题

根本原因:DNS 反向解析导致超时Caused by: java.net.SocketTimeoutException: Timeout occurred, failed to read total 4 bytes in 5000 milliseconds, actual read only 0 bytesat com.alibaba.otter.canal.parse.driver.mysql.socket.BioSocketChannel.read(BioS…...

Ostrakon-VL零售AI降本方案:替代人工巡检,单店年省8万元

Ostrakon-VL零售AI降本方案:替代人工巡检,单店年省8万元 1. 零售巡检的痛点与AI解决方案 在传统零售运营中,门店巡检是一项耗时耗力的日常工作。店长或督导人员需要每天检查: 商品陈列是否整齐货架缺货情况价签是否正确店铺环境…...

SDMatte部署避坑指南:首次加载延迟、模型切换等待、端口冲突解决方案

SDMatte部署避坑指南:首次加载延迟、模型切换等待、端口冲突解决方案 1. 为什么选择SDMatte进行图像抠图 SDMatte是一款专为高质量图像抠图设计的AI模型,特别适合处理那些传统抠图工具难以应对的复杂场景。想象一下,你需要把玻璃杯从背景中…...

AnythingtoRealCharacters2511镜像免配置部署教程:Docker+ComfyUI开箱即用方案

AnythingtoRealCharacters2511镜像免配置部署教程:DockerComfyUI开箱即用方案 想快速将动漫人物变成真实照片?这个教程教你10分钟搞定专业级动漫转真人效果,无需任何技术背景! 1. 为什么选择这个镜像? 如果你曾经尝试…...

RAG系统的需求分析

这个是一个基于私有知识库的智能对话平台,允许用户上传文档构建专属知识库,并通过自然语言交互的方式查询和获取知识。它结合了大语言模型和向量检索技术,让用户通过对话的形式与自己的知识库进行高效交互应用场景个人用户场景:学习助手&…...

GLM-4.1V-9B-Base应用场景:建筑图纸关键结构识别与中文描述生成

GLM-4.1V-9B-Base应用场景:建筑图纸关键结构识别与中文描述生成 1. 建筑行业的AI视觉革命 在建筑设计领域,图纸解读一直是项耗时费力的工作。设计师需要花费大量时间分析图纸中的结构细节,撰写技术说明文档。传统的人工识别方式不仅效率低下…...

电子测试岗面试翻车实录:我的硬件知识与英语短板,以及如何逆袭”

一:首先进行英文的自我介绍Hello, my name isxxx .你好,我叫xxx。I’m 20 years old, and I’m currently a third-year student majoring inElectronic Information Engineering at xxxx我今年20岁,目前是xxx电子信息工程专业的大三学生。My…...

设备管理系统是什么?如何建立设备管理体系?

在现代企业的运转中,生产设备无疑是核心资产。无论是制造业的数控机床,还是建筑工地的重型机械,甚至是医疗机构的精密仪器,设备的稳定运行直接决定了企业的生产效率、产品质量和成本控制。然而,许多企业在设备管理上仍…...

OFA-COCO蒸馏版部署教程:Windows WSL2环境下PyTorch服务调试全流程

OFA-COCO蒸馏版部署教程:Windows WSL2环境下PyTorch服务调试全流程 1. 引言:为什么选择OFA图像描述模型? 你有没有遇到过这样的场景?手头有一堆图片,需要为它们配上文字说明,一张张手动写描述&#xff0c…...

【计算机视觉实战】第10章 | 单阶段目标检测YOLO与SSD:实时检测的极致追求

欢迎来到《计算机视觉实战》系列教程的第十章。在第九章我们学习了Faster R-CNN等两阶段检测器,它们精度高但速度慢。本章我们将学习单阶段检测器(One-stage Detector),特别是YOLO和SSD,它们在保持可观精度的同时实现了…...

Phi-4-mini-reasoning实战教程:批量处理CSV数学题库生成标准答案

Phi-4-mini-reasoning实战教程:批量处理CSV数学题库生成标准答案 1. 引言 数学老师们经常面临一个共同挑战:批改大量数学作业和试卷需要花费大量时间。传统方法需要逐题检查,效率低下且容易出错。今天,我们将介绍如何利用Phi-4-…...

豪鹏科技2025年财报透视:毛利率提升5.2个百分点,费用管控成效显著

豪鹏科技2025年财报透视:毛利率提升5.2个百分点,费用管控成效显著豪鹏科技2025年业绩表现亮眼,全年实现营业收入57亿元至60亿元,同比增长11.58%至17.45%;归母净利润1.95亿元至2.2亿元,同比大幅增长113.69%至…...

SEO和SEM对于中小企业的意义是什么_SEO 和 SEM 的报告指标有哪些

SEO和SEM对于中小企业的意义是什么 在当今的数字化时代,中小企业如何在竞争激烈的市场中脱颖而出,已成为每一个企业家关注的焦点。搜索引擎优化(SEO)和搜索引擎营销(SEM)作为两种重要的数字营销手段&#…...

管理员命令提示符 命令提示符 cmd

命令提示符区别...

小型纯电动汽车轮毂电机及大角度转向系统的数字化设计【含catia、solidworks、CAD图纸、答辩PPT、说明书】

小型纯电动汽车轮毂电机与大角度转向系统的数字化设计,是新能源汽车领域的关键技术突破方向。轮毂电机通过将驱动装置集成于车轮内部,实现了动力传递路径的简化与能量利用效率的提升,其分布式驱动特性使车辆具备更灵活的扭矩分配能力&#xf…...

快速部署Python3.10环境:Miniconda镜像实战教学

快速部署Python3.10环境:Miniconda镜像实战教学 1. 为什么选择Miniconda搭建Python环境? 在Python开发中,最让人头疼的问题之一就是环境管理。不同项目可能需要不同版本的Python和依赖库,直接安装会导致版本冲突。Miniconda提供…...

从选型到焊接:一份给嵌入式新手的晶振避坑指南(含32.768KHz实例)

从选型到焊接:嵌入式开发者的晶振实战避坑手册 第一次点亮自己设计的电路板时,那颗小小的晶振就像电子世界的心跳起搏器。记得三年前我为一个智能家居项目调试STM32时,连续三天卡在"晶振不起振"的问题上——电路图反复检查无误&…...

软考软件评测师备考避坑指南:过来人告诉你这5个章节最容易丢分(附2024最新考纲解析)

软考软件评测师备考避坑指南:5个高频失分章节深度解析 第一次打开软件评测师考纲时,我盯着密密麻麻的知识点列表发愣——这哪是考试大纲,分明是软件工程领域的百科全书。作为经历过三次备考最终以87分通过的老考生,我深刻理解那种…...

别再死记硬背了!用C++/Java手把手实现线索二叉树(附完整代码与避坑指南)

从零实现线索二叉树:C/Java双语言实战与陷阱全解析 第一次在面试白板上遇到线索二叉树的实现题时,我的手心全是汗。教科书上的递归图示看起来清晰,但真正要写出无bug的线索化代码时,那些ltag和rtag就像捉迷藏的孩子,总…...

SDXL 1.0电影级绘图工坊:RTX 4090专属,5分钟零基础部署教程

SDXL 1.0电影级绘图工坊:RTX 4090专属,5分钟零基础部署教程 1. 为什么选择SDXL 1.0电影级绘图工坊 如果你正在寻找一款能在RTX 4090上发挥极致性能的AI绘图工具,SDXL 1.0电影级绘图工坊绝对是你的不二之选。这款工具专为4090显卡优化&#…...

ARL灯塔扫不出指纹?手把手教你用Python脚本批量导入指纹库,提升资产识别准确率

ARL灯塔指纹识别优化实战:Python脚本批量导入与精准率提升指南 资产侦察灯塔(ARL)作为渗透测试领域的重要工具,其核心价值在于准确识别目标资产的技术特征。然而许多中级用户发现,默认指纹库在面对特定行业或新型资产…...

数据科学驱动的自动化分析:缠论量化开源工具包的技术实践与价值

数据科学驱动的自动化分析:缠论量化开源工具包的技术实践与价值 【免费下载链接】chanvis 基于TradingView本地SDK的可视化前后端代码,适用于缠论量化研究,和其他的基于几何交易的量化研究。 缠论量化 摩尔缠论 缠论可视化 TradingView TV-SD…...

500套帐篷发往西非:我们凭什么拿下这单?

一句吐槽,让我们抓住了机会年初,天津京路发科技收到一封西非询盘:500套支架帐篷,用于安置点。客户顺带吐槽了一句:“之前的帐篷,没撑过上一个雨季。”我们懂了——价格不是关键,耐造才是。先看气…...

INNISO1接口模块

INNIS01 接口模块INNIS01 是一款应用于工业自动化控制系统中的接口模块,主要用于实现控制系统内部或与外部设备之间的信号连接与数据交互,属于系统中的通信与接口扩展单元。一、基本概述INNIS01 接口模块通常用于连接控制器与现场设备或其他功能模块&…...