适用于Windows和MSVC的ccls编译简明指南

cclsMaskRay编写的一款适用于C/C++/OC的LSP实现。在此基础上,他还针对VSCode编写了对应的插件,用以为这些语言提供编辑器的自动完成、语法提示和错误检查功能。在这篇帖子中,我打算简要总结一下如何在Windows下编译ccls。毕竟这也是各位在VSCode中使用ccls插件的第一步。

首先,我们需要注意到,ccls需要使用Clang生成的语法树来对文件进行分析,而不幸的是,在官网下载到的LLVM+Clang安装程序中是没有这部分功能所对应的头文件的。例如,在MaskRay/ccls/src/indexer.cc中有以下包含指令:

The Windows prebuilt binaries lack C++ header files, thus they cannot be used.

如果你的LLVM中提供的包含路径下没有这些头文件,不妨先在本地编译一下LLVM+Clang

随后便可以正式开始ccls的编译工作了。先准备好存储库

然后打开cmake-gui,填写源代码位置和build文件夹路径,点击“Configure”。使用默认值确认即可。

如果你的LLVM没有放在默认路径下(C:\Program Files\LLVM),则在Configure之前需要点击“Add Entry”,增加一项 CMAKE_PREFIX_PATH ,指定你的LLVM安装路径。

点击“Generate”,生成VS解决方案。点击“Open Project”,随后的操作就比较直观了。选择生成配置(Debug / RelWithDebInfo),然后编译 ccls项目。

编译成功后,在输出目录下便可以找到ccls.exe了。之后只需要在VSCode的ccls插件配置下指定这个路径即可。

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据