当前位置:网站首页>MSYS2 QtCreator Clangd 代码分析找不到 mm_malloc.h的问题补救
MSYS2 QtCreator Clangd 代码分析找不到 mm_malloc.h的问题补救
2022-08-02 09:59:00 【丁劲犇】
近期学校的机房里升级了msys2,遇到了QtCreator的代码提示问题,不算完全解决,因为要上课,采用了临时的补救方法。
1. 现象
升级msys2 msys64, 发现QtCreator clangd 解析代码出现问题,提示找不到mm_malloc.h,类似:
In include file : 'mm_malloc.h' file not found
虽然不影响编译调试,但是很不爽。
2. 初步解决
这个错误现象很诡异。clangd 是一种分析器,理应自动查找头文件。打开文件夹,发现mm_malloc.h是存在的,且就在clang的文件夹下。
问题应该出在clangd的配置上。clangd在分析第三方编译器(比如gcc)的工程时,不会关联clang的include,因此导致这个问题。正确的解决办法是为clangd人为指定路径,但一时半会找不到配置文件放在哪里。查看clangd的帮助,应该写到一个配置中。这样吧,先用内建的代码分析器,关闭clangd选项:
3.进一步解决
初步解决后,分析报错没有了,但是少了不少有益的提示。
我们在gcc的include文件夹内建立一个空白的mm_malloc.h,关联到真实的mm_malloc.h。如果是Linux,支持链接就太棒了。windows下,还是写include吧。
//mm_malloc.h in mingw64/include
#include "../lib/clang/14.0.4/include/mm_malloc.h"
如此设置后,打开clangd选项,原有故障不再出现。
4.不足
此种方法,在升级clang后,显然是无法工作的。因为clang的include路径有14.0.4这个版本号。这个问题应该是由使用clang分析gcc的工程导致的。解铃还须系铃人,不知道Qt for msys2的开发团队注意到这个问题木有。
边栏推荐
- 刷题错题录1-隐式转换与精度丢失
- List-based queuing and calling system
- 带你认识40G单纤双向光模块-QSFP+ BiDi光模块
- Linux system uninstall, install, upgrade, migrate clickHouse database
- 1对1视频源码——快速实现短视频功能提升竞争力
- The heavyweights are coming!Spoilers for the highlights of the Alibaba Cloud Life Science and Intelligent Computing Summit
- The 17th day of the special assault version of the sword offer
- armv7与armv8的区别(v8和w12的区别)
- 瑞吉外卖项目剩余功能补充
- 剑指offer专项突击版第17天
猜你喜欢
周鸿祎称微软抄袭 360 安全模式后发文否认;英特尔CEO基辛格回应市值被AMD超越:股价下跌是咎由自取|极客头条...
Do you agree with this view?Most businesses are digitizing just to ease anxiety
Rear tube implements breadcrumb function
使用较广泛的安全测试工具有哪些?
Implementation of mysql connection pool
李航《统计学习方法》笔记之朴素贝叶斯法
SAP 云平台上一种 Low Code Development(低代码开发)解决方案
新“内卷”席卷科技圈,Google CEO 要求 174000 员工提高工作效率!
用正向迭代器封装实现反向迭代器
The heavyweights are coming!Spoilers for the highlights of the Alibaba Cloud Life Science and Intelligent Computing Summit
随机推荐
8月份的.NET Conf 活动 专注于 .NET MAUI
超赞!发现一个APP逆向神器!
Implementation of mysql connection pool
Two-dimensional array piecemeal knowledge sorting
干货|如何在海量文件系统中选择合适自己的文件系统
斯皮尔曼相关系数
Pytorch的LSTM参数解释
【新版干货书】深度伪造 (DeepFakes):创造,检测和影响
npm ERR! 400 Bad Request - PUT xxx - Cannot publish over previously published version “1.0.0“.
链表的实现
第15章 泛型
如何安装dosbox(pycharm详细安装教程)
HikariCP database connection pool, too fast!
STL中list实现
李航《统计学习方法》笔记之朴素贝叶斯法
日元疲软令游戏机在日本变身“理财产品”:黄牛大赚
使用较广泛的安全测试工具有哪些?
C语言volatile关键字、内嵌汇编volatile与编译器的爱恨情仇
TimerTask(addin timer语音)
armv7与armv8的区别(v8和w12的区别)