我可以使用 GCC 编译器和 Clangd 语言服务器吗?
Can I use GCC compiler AND Clangd Language Server?
我正在开发一个使用 GCC 库 (SFML) 的项目,据我所知,该库不适用于 clang。我将 COC 与 vim 一起用于代码补全,但对于 C++,它需要 clangd。有没有办法使用 GCC 作为我的编译器,但仍然使用 clangd 语言服务器?
我也听说有一种方法可以让 clang 识别 GCC libraries/headers,但我一直无法使它正常工作。如果有人能指出我正确的方向,那也会有帮助。但是我习惯了GCC(自从我开始编程C++就一直在使用它),所以能够使用clangd 和 GCC会更可取。
是的。我用 ccls(也是基于 clang 的)来做的。
考虑到我安装的 clang 不是标准(我编译它,将它调整为默认使用 libc++,我将它安装在我个人的某个地方 space) 我必须注入 clang 已知但其他基于 clang 的工具未知的头文件的路径。
我用
获得它们
clang++ -E -xc++ - -Wp,-v < /dev/null
关于当前项目相关的其他选项,我保证有compile_commands.json
编译数据库(CMake生成,没有其他的自行承担选择),ccls 可以从那里工作。我希望 clangd 在这些方面非常相似。
哎呀,答错问题了。
但是对于那些使用 ccls
:
- 在您的项目目录中创建一个
.ccls
文件并向其附加 --gcc-toolchain=/usr
。
- 使用this tool生成
compile_commands.json
文件
见https://github.com/MaskRay/ccls/wiki/FAQ#compiling-with-gcc
我正在开发一个使用 GCC 库 (SFML) 的项目,据我所知,该库不适用于 clang。我将 COC 与 vim 一起用于代码补全,但对于 C++,它需要 clangd。有没有办法使用 GCC 作为我的编译器,但仍然使用 clangd 语言服务器?
我也听说有一种方法可以让 clang 识别 GCC libraries/headers,但我一直无法使它正常工作。如果有人能指出我正确的方向,那也会有帮助。但是我习惯了GCC(自从我开始编程C++就一直在使用它),所以能够使用clangd 和 GCC会更可取。
是的。我用 ccls(也是基于 clang 的)来做的。
考虑到我安装的 clang 不是标准(我编译它,将它调整为默认使用 libc++,我将它安装在我个人的某个地方 space) 我必须注入 clang 已知但其他基于 clang 的工具未知的头文件的路径。
我用
获得它们clang++ -E -xc++ - -Wp,-v < /dev/null
关于当前项目相关的其他选项,我保证有compile_commands.json
编译数据库(CMake生成,没有其他的自行承担选择),ccls 可以从那里工作。我希望 clangd 在这些方面非常相似。
哎呀,答错问题了。
但是对于那些使用 ccls
:
- 在您的项目目录中创建一个
.ccls
文件并向其附加--gcc-toolchain=/usr
。 - 使用this tool生成
compile_commands.json
文件
见https://github.com/MaskRay/ccls/wiki/FAQ#compiling-with-gcc