【发布时间】:2016-01-22 21:56:31
【问题描述】:
我已经按照安装指南安装了YouCompleteMe。我在 Windows 机器上使用 gVim。基本的符号完成正在工作,但我无法从我的标题中自动完成。
如果我有:
#include <vector>
using namespace std;
vector<int> myVector;
那么myVector.<smth like push_back etc...>将找不到完成
Vim 状态栏说:
--User defined completion (^U^N^P) Pattern not found
或
--Omni completion (^O^N^P) Pattern not found
诊断
我开始诊断问题。 :YcmDiags 命令给出来自头文件的错误列表。由于 YouCompleteMe 使用 clang 来不断编译源代码,因此我尝试使用 clang 编译我的文件。我也知道我应该在 .ycm_extra_conf.py 的标志中为 clang 指定命令行选项。我不知道 YCM 是运行 clang.exe 还是 clang-cl.exe 但我实际上使用 clang-cl.exe 从命令行运行 vsvars32.bat 后手动。使用 clang.exe 编译没有成功。
这是我的 .ycm_extra_conf.py 文件标志部分:
flags = [
'-std=c++11',
'-x', 'c++',
'-I', 'C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include',
'-I', 'C:/Program Files (x86)/Windows Kits/10/Include/10.0.10150.0/ucrt',
'-I', 'C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/atlmfc/include',
'-I', 'C:/Program Files (x86)/Windows Kits/NETFXSDK/4.6/include/um',
'-I', 'C:/Program Files (x86)/Windows Kits/8.1/Include/um',
'-I', 'C:/Program Files (x86)/Windows Kits/8.1/Include/shared',
'-I', 'C:/Program Files (x86)/Windows Kits/8.1/Include/winrt',
'/link', '/LIBPATH:"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib" /LIBPATH:"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\atlmfc\lib" /LIBPATH:"C:\Program Files (x86)\Windows Kits\10\lib\10.0.10150.0\ucrt\x86" /LIBPATH:"C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86"',
'/EHsc']
【问题讨论】:
标签: c++ vim clang youcompleteme clang-cl