由于搞了两天终于知道方法所以就来写一下,让不清楚的人可以减少搜索的时间 /kk
我用的是 32 位系统上装的 windows10,方法应该是 windows 通用的。
首先你需要安装 LLVM,这个在 Github 可以搜到仓库,下载发行版里面的 LLVM-11.0.1-[系统信息].exe
文件,然后放心安装。
然后去下载一个 MinGW 或 TDM-GCC(前者下载起来太慢了)(好像 Dev C++ 自带的也行?),找到它的安装目录,把 bin 加入到环境变量里面。
把 LLVM 文件夹下 bin 文件夹中的 clang.exe clang++.exe clangd.exe clang-format.exe
(最后一个是用来格式化的,但是因为有环境变量所以搬过来就不需要输入地址)复制到 MinGW/TDM-GCC 的 bin 文件夹下,然后把 LLVM/lib/clang 文件夹复制到 MinGW/TDM-GCC 的 lib 文件夹下。
然后看到 MinGW/TDM-GCC 的 lib 文件夹下面有 gcc 文件夹,打开后复制好里面唯一一个文件夹的名字(比如 x86_64-w64-mingw32)
好了,以管理员身份打开命令行,输入命令 clang++.exe [测试用 cpp 文件] --target=[刚刚那个文件夹的名字]
,如果编译成功,那么 clang++ 已经可以使用标准库头文件了。
(之前就是在这里,我尝试把 MinGW 什么的头文件直接复制到 clang 的 include 里面试了好久)
开始配置 clangd(LLVM 自带的一款 LSP,可以在写代码的时候显示代码错误和警告)。在 CP Editor > 设置 > 扩展 > Language Server > C++ Server 里面,打开 Language Server,这个时候你会看到连 #include <cstdio>
都会错误。
这个时候就要用到刚刚记好的文件夹名字了。先在参数中加入 --enable-config --header-insertion=never --pch-storage=memory
。然后在 C:\Users[用户名]\AppData\Local\clangd\config.yaml(没有就新建)中添加代码:
CompileFlags:
Add: [--target=刚刚那个文件夹的名字]
最后在 CP Editor 应用一下,就可以使用了。
代码格式化的功能因为刚刚直接复制了过来所以直接开就行了。
最后,吹爆 CP Editor!