vscode 极简Linux下 cmake c++开发环境

ops/2025/1/18 4:51:31/


安装这三插件
在这里插入图片描述

vscode安装插件clangd 后报错 无法自动下载服务端

Failed to install clangd language server: FetchError: request to https://api.github.com/repos/clangd/clangd/releases/latest failed, reason: Failed to establish a socket connection to proxies: PROXY 127.0.0.1:7897
You may want to install it manually.

1、翻墙后下载

https://github.com/clangd/clangd/releases/download/19.1.2/clangd-linux-19.1.2.zip

2、将文件解压后放入WSL中(文件系统直接和win11互通的好处)

在这里插入图片描述

3、添加可执行权限

chmod +x /home/qiuliw/clangd_19.1.2/bin/clangd

4、插件设置将 path 指向bin下的clangd可执行文件

在这里插入图片描述

注意你这个可执行文件的上级目录应当还包括下载包里的lib,clangd会根据clangd可执行文件做相对目录去寻找头文件等

4、设置clangd编译目录

打开设置,在设置中输入clang,找到clangd: Arguments

在这里插入图片描述
点击添加项,并输入参数

--compile-commands-dir=${workspaceFolder}/build

这就为clangd指定了生成的compile-commands.json的目录,clangd根据这个compile-commands.json的编译命令索引文件做提示,项目创建后需要先运行生成一下这个文件

测试

创建项目

在这里插入图片描述

最基本的CmakeLists.txt文件

# cmake版本的需求,写上去就行
cmake_minimum_required(VERSION 3.22)set(CMAKE_CXX_STANDARD 17)# 项目名字
project(cpp_study)
# 可执行文件,会生成一个cpp_study的可执行文件
add_executable(cpp_study main.cpp)

main.cpp

#include <iostream>using namespace std;int main(){cout << "hello" << endl;
}

击右下角的生成,进行可执行文件的产生。

参考了

https://blog.csdn.net/qq_63432403/article/details/135726686
https://baijiahao.baidu.com/s?id=1802205914932194613&wfr=spider&for=pc


http://www.ppmy.cn/ops/150998.html

相关文章

使用AKTools本地部署AKShare财经数据接口库

使用AKTools部署AKShare财经数据接口库&#xff0c;AKShare的介绍见&#xff1a;基于 Python 的财经数据接口库&#xff1a;AKShare-CSDN博客 AKTools 是一款用于快速搭建 AKShare HTTP API 的工具&#xff0c;通过 AKTools 可以利用一行命令来启动 HTTP 服务&#xff0c;从而…

element el-input只能输入数字

背景&#xff1a; 在项目中做新增功能的时候&#xff0c;前端需要限制用户的输入&#xff0c;这里例如&#xff1a;在input 输入框只能输入数字。 第2点&#xff0c;如果我想限制的是&#xff0c;输入的是数字限制数字位数。 实现思路&#xff1a;input输入框只能输入数字&…

1/13+2

运算符重载 myString.h #ifndef MYSTRING_H #define MYSTRING_H #include <cstring> #include <iostream> using namespace std; class myString {private:char *str; //记录c风格的字符串int size; //记录字符串的实际长度int capacity; …

Gateway怎么实现限流的

Gateway怎么实现限流的 在API网关&#xff08;如Spring Cloud Gateway、Kong、Nginx等&#xff09;中实现限流是为了控制服务请求的频率&#xff0c;从而避免系统过载&#xff0c;确保稳定性和可用性。限流可以通过多种策略实现&#xff0c;常见的方法包括基于请求次数、时间窗…

EasyExcel的应用

一、简单使用 引入依赖&#xff1a; 这里我们可以使用最新的4.0.2版本&#xff0c;也可以选择之前的稳定版本&#xff0c;3.1.x以后的版本API大致相同&#xff0c;新的版本也会向前兼容&#xff08;3.1.x之前的版本&#xff0c;部分API可能在高版本被废弃&#xff09;&…

【MySQL】高级查询技巧 JOIN、GROUP BY、ORDER BY、UNION 应用案列解析

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《MySQL技术精粹》&#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目录 一、引言 1、MySQL起源 2、MySQL应用场景 二、MySQL高级查询技巧 1、连接查询&am…

npm发布组件(vue3+webpack)

1.初始化Vue项目 vue create my-app 2.本地运行 npm run serve 3.新增目录和文件 1. src/package/index.js 2. src/package/wlz-btn/index.vue 3. src/package/wlz-input/index.vue // src\package\index.js import WlzBtn from "./wlz-btn"; import WlzInput …

海康MV-EB435i立体相机SDK安装(ROS 2)

文章目录 一、简介二、驱动配置小结 一、简介 MV-EB435i相机是一款低成本、小体积、配置全面的立体相机&#xff0c;凭借硬件级的深度图像处理方案&#xff0c;相机可在高性能输出的同时维持低功耗的水平。相机采用海康MV3D SDK&#xff0c;并提供跨平台支持&#xff0c;广泛应…