ubuntu 安装 ccls

news/2024/11/17 0:31:13/文章来源:https://www.cnblogs.com/1625--H/p/18550165

ccls 是一个支持 C、C++ 和 Objective-C 的语言服务器(Language Server Protocol,LSP)实现,专为高效的代码分析与开发设计。它支持代码补全、跳转、语法检查等功能,常用于编辑器如 VS Code、Vim 和 Emacs 的 C/C++ 开发环境。

本文主要介绍如何在 ubuntu 中使用源码编译安装 ccls。

在 ccls 的 [repo wiki](Build · MaskRay/ccls Wiki) 中提到源码编译依赖的环境有:

  • CMake 3.8 及以上
  • C++ 编译器
    • Clang 5 及以上
    • GNU GCC 7.2 及以上
    • MSVC 2017及以上(ubuntu 上面不考虑)
  • Clang + LLVM 的头文件以及相关库,版本需 >=7

安装 CMake

CMake 安装可到官网下载:Download CMake,我选择的版本是 3.31:

wget https://github.com/Kitware/CMake/releases/download/v3.31.0/cmake-3.31.0.tar.gz
tar -zxvf cmake-3.31.0.tar.gz
./bootstrap

过程中可能缺少依赖,需要安装一些开发工具和第三方库:

sudo apt-get update
sudo apt-get install -y build-essential libssl-dev

然后编译 CMake

make
# 如果编译较慢,可以开启多核并行编译,后面的 4 是开启的核数
make -j4

最后编译安装

sudo make install

安装 Clang、相关开发依赖库

这一步可以直接安装:

sudo apt update
sudo apt install clang-18 libclang-18-dev

这将安装版本 18 的 clang,以及 clang 和 llvm 的库(头文件和 .a,.so 文件等等)。注意这里的命令仅限 Ubuntu,如果是其他系统,或者遇到了意外情况,可以去 [repo wiki](Build · MaskRay/ccls Wiki) 中找找有没有解决办法。

编译安装 ccls

# 下载源码
git clone --depth=1 --recursive https://github.com/MaskRay/ccls
cd ccls# cmake 构建,注意需要找到自己系统里面的 llvm 相关文件路径
cmake -S. -BRelease -DCMAKE_BUILD_TYPE=Release \-DCMAKE_PREFIX_PATH=/usr/lib/llvm-18 \-DLLVM_INCLUDE_DIR=/usr/lib/llvm-18/include \-DLLVM_BUILD_INCLUDE_DIR=/usr/include/llvm-18/
# 编译安装
cd Release && sudo make install

然后就可以查看是否安装成功啦~

(base) kpole@kpole:~/ccls/Release$ whereis ccls
ccls: /usr/local/bin/ccls

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/834859.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第五章

5.1 节练习 练习 5.1 空语句是最简单的语句,空语句由一个单独的分号构成。如果在程序的某个地方,语法上需要一条语句但是逻辑上不需要,此时应该使用空语句,空语句什么也不做。 一种常见的情况是,当循环的全部工作在条件部分就可以完成时,我们通常会用到空语句。使用空语句…

AI独立开发完全指南:从Cursor到变现的实战攻略

大家好,我是加加,今天给大家分享的是用 cursor 实现复杂创意想法。近期参加了圈子里的 cursor 培训,当了回教练,以下是我分享的那节课的主要内容,分享给初学者想要入门AI独立开发的朋友。这几乎就是逐字稿了,但是生生的让我给读成了磕磕绊绊,我这口头表达能力啊,真是太…

OCS助手配置

使用准备:装有Edge浏览器的电脑鼠标眼睛一双灵活的手一颗勇敢不放弃的心♥安装流程 1.安装油猴插件 2.安装油猴脚本-OCS助手 3.配置OCS助手 4.启动刷课 教程开始 1.安装油猴插件打开Edge浏览器的主页2.点击三个点点点击扩展3.点击"打开MIcrosoft Edge加载项"4.在左边…

测试笔记1

测试笔记1 ​​

Win11安装kali子系统

Win11安装kali子系统 1. 开启服务,更新wsl2 启用或关闭Windows功能 -> 开启适用于Linux的Windows子系统wsl --update #更新到wsl2`wsl --status #检查一下`2. 安装kali,换源配置工具 wsl --install kali-linux #安装kali-linux`换源中科大源,会变快很多,将官方源…

002.测试2

002.测试2 ​​ ‍

第三篇:Scrum冲刺博客

冲刺博客:Day 3 - 数据处理与设计细化 站立式会议照片: ![站立式会议 - Day 3](链接到Day 3的照片) 工作进展:许莹柔(机器学习工程师):昨日完成:数据集预处理工作开始。 今日计划:继续数据集预处理,并开始模型训练。 遇到的困难:数据集存在一些异常值需要处理。肖晓霞…

CPP 智能指针

CPP 智能指针Created: 2024-06-30T20:43+08:00 Published: 2024-11-16T23:17+08:00 Categories: C-CPP智能指针的作用 智能指针最初使的作用就是离开作用域调用析构函数。 因为 malloc 出来的东西只能通过指针持有,栈上的对象在离开作用域后会自动调用析构函数,但是裸指针会不…

先天软工圣体队——冲刺日记(第三天)

1. 每位团队成员的分工与进度成员 完成的任务 完成的任务时长 剩余时间何愉心、邱雨涵 对以及会议进行记录与vlog剪辑 3小时 1小时陈思雨,郑奇键 添加资料库滑动框,美化UI 2小时 2小时陈尚冰 ”登录“”注册“页面的开发,安全性强化 5小时 2小时柯鸿毅 API拓展功能完善 2小时…