【发布时间】:2015-01-07 07:57:27
【问题描述】:
我今天有一个简单的问题。我正在使用这个 vim 配置 - https://github.com/gergap/vim
问题在于 clang 完成。它可以工作,但是当我想添加更多包含以获得更好的完成时,什么都没有发生 - 它不会检测到新的标题。
例如获取#include <sys/types.h>。这是我添加到 .clang_complete 文件中的内容,该文件位于我的 main.c 所在的目录中:
-I/usr/include/x86_64-linux-gnu/sys/
我通过调用找到的
find /usr/include/ -name types.h
有什么问题吗?你能告诉我一些包含到 unix 头文件的工作 .clang_complete 文件吗?也许我会以这种方式发现问题。
这是带有 -v 标志的 gcc 的输出:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include
/usr/local/include
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed
/usr/include/x86_64-linux-gnu
/usr/include
【问题讨论】:
-
<>或""中的路径附加到您传递给编译器的每个包含目录。所以如果你不想要<sys/types.h>,编译器会检查/usr/include/x86_64-linux-gnu/sys/sys/types.h是否存在。尝试使用-I/usr/include/x86_64-linux-gnu/。 -
@xaizek 说清楚。我需要用 clang 编译我的程序以使其工作吗?还是在我添加新路径后只编译一次?
-
你不需要编译任何东西来使它工作,但我建议在向
.clang_complete添加新行之后重新启动 Vim,以确保它被重新加载(至少这次)。我提到编译器作为完成处理参数的方式与编译器相同,所以只需将-I/usr/include/x86_64-linux-gnu/放入您的.clang_complete,重新启动 Vim,它应该可以工作。
标签: vim clang-complete