gcc - 我可以使用 GCC 编译器和 Clangd 语言服务器吗?

标签 gcc vim clang clangd

据我所知,我正在开发一个使用 GCC 库 (SFML) 的项目,该库不适用于 clang。我正在使用带有 vim 的 COC 来完成代码,但对于 C++,它需要 clangd。有没有办法使用 GCC 作为我的编译器,但仍然使用 clangd 语言服务器?
我还听说可能有一种方法可以让 clang 识别 GCC 库/头文件,但我一直无法让它正常工作。如果有人能指出我正确的方向,那也会有帮助。但是我习惯了 GCC(自从我开始编写 C++ 以来我一直在使用它),所以能够使用 clangd 和 GCC 会更好。

最佳答案

是的。我用 ccls 来做(它也是基于 clang 的)。
鉴于我安装的 clang 不是标准的(我编译它,调整它以默认使用 libc++,然后我将它安装在我的个人空间中的某个位置)我必须注入(inject)指向 clang 已知但其他基于 clang 的头文件的路径工具。
我用

clang++ -E -xc++ - -Wp,-v < /dev/null
关于与当前项目相关的其他选项,我确保有一个 compile_commands.json编译数据库(由 CMake 生成,或者如果我别无选择,请承担),并且 ccls 可以从那里工作。我希望 clangd 在这些方面非常相似。

关于gcc - 我可以使用 GCC 编译器和 Clangd 语言服务器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62624352/

相关文章:

macvim - 使用 Ctrl-W_W 在 VIM 中跳过窗口

python - python的vim设置

gcc - clang 是否有相当于 GCC 的 -mno-vzeroupper 标志?

security - 如何使用 GCC 和 Clang(或一般的 LLVM)减轻 Spectre

c++ - 为什么 std::ios_base::sync_with_stdio 没有在 libc++ (clang) 中实现?

c++ - Clang 不会编译 gcc 会编译的模板特化

C++ : friend declaration ‘declares a non-template function

C++11 - move 包含文件流的对象

c - 修复 ms 编译器 c 代码以在 gcc 中编译

vim - gvim 中的 <++> 是什么意思?