首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为Vim配置.ccls文件

为Vim配置.ccls文件
EN

Stack Overflow用户
提问于 2020-08-21 18:43:25
回答 1查看 7.7K关注 0票数 2

我不知道我在做什么。我决定使用Vim作为我唯一的编辑器,我正在尝试设置自动完成和语法检查。

因此,我需要在我的项目根目录中配置一个.ccls文件(我不想生成一个compile_commands.json文件,所以请不要告诉我)。但是.ccls上没有任何详细的文档,因为它所做的只是使用编译器标志,当然我不知道;我不久前在C++中开始使用,我不知道任何CMake,我习惯于在IDE上运行我的代码!

我知道,在我的.ccls中插入的默认代码是包含的路径,我将其放入其中(这是我使用clang++ -E -x c++ - -v < /dev/null获得的5条路径),而且我使用的是mac。我把这些,我得到了自动完成,但我的源代码中断告诉的事情,如iostream和其他所有的头不存在在/usr/local/include中,即使我提供了4其他路径(它真的不存在于/usr/local/include中,我不知道iostream和其他那些是在哪里),我不能cout << "Hello, World!" << endl,例如,因为ostream和char[]是不兼容的,诸如此类的事情。顺便说一句,即使我使用compile_commands.json,我仍然会得到错误,它只修复我的头路径。

有人能解释一下如何使用.ccls吗?没有链接,只是简单的解释。或者至少有一个默认的配置让我开始工作。

我还需要提供指向项目头文件的路径吗?

这是我的.ccls

代码语言:javascript
复制
clang++
%cxx -std=c++17
%cxx -stdlib=libc++
%hxx --include=Global.h
%cxx -I/usr/local/include
%cxx -I/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1
%cxx -I/Library/Developer/CommandLineTools/usr/lib/clang/12.0.0/include
%cxx -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include
%cxx -I/Library/Developer/CommandLineTools/usr/include
EN

回答 1

Stack Overflow用户

发布于 2020-08-22 01:15:17

我可能错了,但我会保持简单,只需将这些行放在.ccls文件中

代码语言:javascript
复制
clang
-std=c++17
-stdlib=libc++
-isystem/usr/local/include
-isystem/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1
-isystem/Library/Developer/CommandLineTools/usr/lib/clang/12.0.0/include
-isystem/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include
-isystem/Library/Developer/CommandLineTools/usr/include

如果它一开始适用于此,那么您可以在所有这些行前面加上%cxx %c --嗯,-std=c++17-stdlib=libc++..../include/c++/v1只是用于C++。

顺便说一下,我不确定第一行是clang还是clang++

注意:由于以下原因,我使用了-isystem

您可以使用-I覆盖系统头文件,替换您自己的版本,因为这些目录是在标准系统头文件目录之前搜索的。但是,不应使用此选项添加包含供应商提供的系统头文件的目录;请使用-isystem表示. -- https://gcc.gnu.org/onlinedocs/gcc/Directory-Options.html

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63528459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档