在尝试使用
vim中的
clang complete设置C的自动完成时,到目前为止,当我在.c文件中时,当我按下ctrl x,u时,我会自动完成.但是它只显示一些符号.
所包含标题中的所有功能都不会出现在自动完成弹出框中.似乎只显示typedef?
项目结构非常简单:
$tree -ap
.
├── [-rwxrw-r--] .clang_complete
├── [-rwxrw-r--] makefile
└── [drwxrw-r--] src
└── [-rwxrw-r--] FlightControl.c
1 directory, 3 files
我尝试在项目文件夹中创建.clang_complete文件,其中包含以下内容:
-I/.../Libraries/xpSDK/CHeaders/XPLM
我仔细检查了XPLM标头的路径,这是正确的.
任何想法都错了吗?
最佳答案 在完成期间,libclang会尝试通过忽略错误来为用户提供最长的匹配列表.我猜你没有定义XPLM_API宏.由于它用于声明头文件中的每个函数,因此您不会在完成列表中看到任何函数.看看XPLMDefs.h中的定义我认为libclang得到的平台没有定义!错误(甚至可能是几次).
如果你定义你的平台完成它应该工作,我这样做是通过将-DLIN添加到.clang_complete文件并完成现在工作.
所以它似乎不是vim或clang_complete的问题,尽管在这种情况下发出警告会很好.