vscode clangd c++开发常见问题和解决方案

简介: vscode clangd c++开发常见问题和解决方案

找不到标准库头文件


原因: clangd启动时需要通过参数指定从那个目录搜索标准库头文件。


"clangd.arguments": [
  "--log=verbose",
  "--header-insertion=never",
  "--query-driver=/usr/bin/g++*"
  ]


解决:修改vscode settings,加入配置

"clangd.path": "/root/.vscode-server/data/User/globalStorage/llvm-vs-code-extensions.vscode-clangd/install/12.0.1/clangd_12.0.1/bin/clangd",
  "clangd.arguments": [
  "--log=verbose",
  "--header-insertion=never",
  "--query-driver=/usr/bin/g++*"
  ]




工程非cmake构建或cmake执行失败


原因:在很多情况下, 我们只想浏览某个工程的代码,而不想对其进行编译。当时当工程并不是cmake构建或者执行cmake失败的时候,我们就无法生成

compile_commands.json文件,clangd也就无法解析symbol并对其索引, 导致我们无法正常的浏览工程代码。


解决:解决方案其实很简单,在工程目录下创建一个CMakeLists.txt文件


cmake_minimum_required(VERSION 3.5)
# Set the project name
project (demo)
set (SRCS 源文件列表)
# Add an executable
add_executable(demo ${SRCS})
target_include_directories(demo PUBLIC
 include路径列表
)


其中源文件列表和include路径列表都可通过find命令批量填充到文件CMakeLists.txt中。感兴趣的同学还可写个自动化的脚本。


然后执行cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=YES .便可生成compile_commands.json,一切安排妥当,【clickhouse新特性之---clickhouse-keeper

相关文章
|
5月前
|
API C++ Windows
Visual C++运行库、.NET Framework和DirectX运行库的作用及常见问题解决方案,涵盖MSVCP140.dll丢失、0xc000007b错误等典型故障的修复方法
本文介绍Visual C++运行库、.NET Framework和DirectX运行库的作用及常见问题解决方案,涵盖MSVCP140.dll丢失、0xc000007b错误等典型故障的修复方法,提供官方下载链接与系统修复工具使用指南。
1173 2
|
自然语言处理 API C++
阿里通义推出SmartVscode插件,自然语言控制VS Code,轻松开发应用,核心技术开源!
SmartVscode插件深度解析:自然语言控制VS Code的革命性工具及其开源框架App-Controller
2165 1
阿里通义推出SmartVscode插件,自然语言控制VS Code,轻松开发应用,核心技术开源!
|
11月前
|
JavaScript 前端开发 程序员
甚至用不了五分钟就能学会vscode插件开发
本文介绍了VSCode插件的开发流程,从创建项目到最终发布。首先通过安装`yo`和`generator-code`脚手架工具初始化项目,选择JavaScript语言配置基础信息。接着,在`extension.js`中实现业务逻辑,例如将中文“变量”替换为“var”。通过F5进入调试模式验证功能。完成后使用`vsce`工具进行打包,解决可能遇到的版本不兼容或README文档问题。最后生成`.vsix`文件,可通过VSCode的“从VSIX安装”加载插件,实现开发闭环。进一步可将插件发布至官方市场供更多开发者使用。
|
JavaScript 前端开发 jenkins
抛弃node和vscode,如何用记事本开发出一个完整的vue前端项目
本文探讨了在不依赖Node和VSCode的情况下,仅使用记事本和浏览器开发一个完整的Vue3前端项目的方法。通过CDN引入Vue、Vue Router、Element-UI等库,直接编写HTML文件实现页面功能,展示了前端开发的本质是生成HTML。虽然日常开发离不开现代工具,但掌握这种基础方法有助于快速实现想法或应对特殊环境限制。文章还介绍了如何用Node简单部署HTML文件到服务器,提供了一种高效、轻量的开发思路。
354 10
|
IDE 开发工具 C语言
C++一分钟之-嵌入式编程与裸机开发
通过这些内容的详细介绍和实例解析,希望能帮助您深入理解C++在嵌入式编程与裸机开发中的应用,提高开发效率和代码质量。
442 13
|
开发工具 C++ git
利用VS Code提升开发效率的五大插件推荐
本文推荐了五款能显著提升开发效率的VS Code插件:ESLint用于代码质量和风格检查;Prettier自动格式化代码;GitLens增强Git功能;Live Server提供前端实时预览;Docker支持容器管理。
WK
|
机器学习/深度学习 人工智能 算法
那C++适合开发哪些项目
C++ 是一种功能强大、应用广泛的编程语言,适合开发多种类型的项目。它在游戏开发、操作系统、嵌入式系统、科学计算、金融、图形图像处理、数据库管理、网络通信、人工智能、虚拟现实、航空航天等领域都有广泛应用。C++ 以其高性能、内存管理和跨平台兼容性等优势,成为众多开发者的选择。
WK
908 1
|
前端开发 JavaScript 编译器
2024最新VSCode实用插件推荐,开发效率遥遥领先!超全面,快收藏~
【10月更文挑战第11天】2024最新VSCode实用插件推荐,开发效率遥遥领先!超全面,快收藏~
2860 0
2024最新VSCode实用插件推荐,开发效率遥遥领先!超全面,快收藏~
WK
|
开发框架 移动开发 Java
C++和Java哪个更适合开发移动应用
本文对比了C++和Java在移动应用开发中的优劣,从市场需求、学习难度、开发效率、跨平台性和应用领域等方面进行了详细分析。Java在Android开发中占据优势,而C++则适合对性能要求较高的场景。选择应根据具体需求和个人偏好综合考虑。
WK
499 0