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

安装这三插件

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、添加可执行权限

sh 复制代码
chmod +x /home/qiuliw/clangd_19.1.2/bin/clangd

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

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

4、设置clangd编译目录

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

点击添加项,并输入参数

SH 复制代码
--compile-commands-dir=${workspaceFolder}/build

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

测试

创建项目

最基本的CmakeLists.txt文件

cmake 复制代码
# 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

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

相关推荐
10mAh14 小时前
【Linux】error while loading shared libraries 怎么解决?——ldd、RPATH 与动态链接排错
java·linux·前端
00后程序员张14 小时前
有没有更轻量的 iOS 开发环境?快蝎kxapp轻量化路径与构成
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
MC皮蛋侠客14 小时前
TDengine C++ 系列(5):C/C++ 连接器——连接管理与查询 API
c语言·c++·tdengine
楷哥爱开发14 小时前
如何在 Windows、macOS 和 Linux 上安装 scikit-learn (sklearn)
linux·windows·macos
十年磨一剑~14 小时前
CAAM不落盘存储密钥方式处理
linux·ubuntu
MC皮蛋侠客14 小时前
TDengine C++ 系列(8):流式计算与最新值缓存——库内实时处理
c++·缓存·tdengine
zhangrelay14 小时前
ROS 2 Lyrical 第2章 ROS 2系统架构与核心概念
linux·笔记·学习·ubuntu·ros2
橘色的喵14 小时前
EventPool 32-bit 带标签 CAS 池:RT-Thread 单核 + Linux 双平台无锁
linux·运维·服务器
buhuizhiyuci15 小时前
【Linux 网络篇】数据的 “循环系统“:协议认识与网络传输的流程
linux·运维·服务器·网络·vscode
雾时之林15 小时前
Linux------磁盘管理
linux·运维