在Centos7上搭建VSCode C/C++开发环境(拥有VScode的上乘体验)

本文详细讲述了在CentOS 7环境下,为何选择Clangd替代C/C++ Extension Pack,并介绍了如何编译安装LLVM 11.0.0以解决兼容性问题,以及如何配置Clangd插件以优化C++开发体验,包括clang-tidy规则设置。

1. 选择Clangd的原因

在C/C++的Extensions中,官方提供了C/C++ Extension Pack扩展包,对于不想麻烦的朋友只需要安装官方提供的一套扩展就可以搭建好C/C++的开发环境。

(当然你事先要在centos上安装gcc、g++、cmake等工具)

如下图所示

然而,这套扩展虽然能用,对比Clangd扩展来说体验不佳。

至于Clangd好在哪,现在火热的Jetbrains公司的Clion以及Vim上的Youcompleteme插件现在都在用它。代码的自动补全准确度、quix fix解决方案等等都完虐C/C++扩展。微软自己搞的这一个C/C++扩展,属实比不上clangd。所谓的这一个C/C++扩展大家应该很熟悉,就是下图这位:

 

 2. Centos7环境的配置

CentOS7的配置与Ubuntu的配置难度完全不同,在Ubuntu 20.04LTS上只需要安装Clangd一个插件,即可完成环境的配置。Centos7难在哪呢?

2.1 llvm的编译安装

Centos7的gcc、libstdc++.so都太老了,gcc版本才4.8、安装clangd后,会提示glibc 2.18未安装。

有朋友可能会说,通过scl源安装新版的不就可以了?但事实没有那么简单,安装高版本的gcc编译器仍然解决不了glibc的问题,编译gblic 2.18需要gcc的版本高于7.0这一个条件可以通过安装scl的gcc 7.x版本解决,但是glibc是不能轻易替换的,否则服务器中跑的程序有可能直接跑不起来了。

因此:另辟蹊径。

参考大佬的文章,可以编译LLVM(其中包含了clangd)低版本的:Centos7 打造 C/C++ 开发环境_thewangcj的博客-优快云博客_centos7 安装c++环境l   

但是在实操过程中还是遇到了编译不了的情况,最后发现大佬的文章,是直接编译高版本的llvm,不考虑低版本gcc的兼容性,实测clangd作为一个server与gcc编译的项目关系不大,而且很好用。

Centos7上源码编译安装llvm 11.0.0 - 知乎

编译过程简述如下:

1. 通过scl安装新版的gcc 7.3

2. 将bash环境切换到gcc 7.3

3. 编译安装llvm 11.

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值