0

我正在将 Vim 与 YouCompleteMe(插件)一起使用。我的操作系统是 Ubuntu 16.04。我的外壳是 Z 外壳(zsh)。

下面的代码是一个 vtk 示例。(来自这里

Cylinder.cpp Vim 捕获

问题

在第 13 行声明了“圆柱源”。但是,第 14 行出现了错误。

msg 是“使用未声明的标识符‘cylinderSource’”。

编译这段代码效果很好,但 vim 不会自动完成,红色让我很烦。

这是我的代码:

ycm_extra_conf.py

flags = [
...
# VTK
'-I/hdd1/Install/VTK/VTK_sources/Common/Core',
'-I/hdd1/Install/VTK/VTK_sources/Common/DataModel',
'-I/hdd1/Install/VTK/VTK_sources/Filters/Sources',
'-I/hdd1/Install/VTK/VTK_sources/Rendering/Core',
...
]
compilation_database_folder = '~/.vim/'

(compile_commands.json 在 build.sh 的 '~/.vim' 中)

~/.zshrc(类似于 bashrc)

...
export VTK_DIR='/opt/VTK'
...

CMakeLists.txt

cmake_minimum_required(VERSION 3.1)
PROJECT(Cylinder)

find_package(VTK REQUIRED)
include(${VTK_USE_FILE})

add_executable(Cylinder MACOSX_BUNDLE Cylinder)

if(VTK_LIBRARIES)
  target_link_libraries(Cylinder ${VTK_LIBRARIES})
else()
  target_link_libraries(Cylinder vtkHybrid vtkWidgets)
endif()

构建.sh

cd build
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ..
cp compile_commands.json ~/.vim/
make -j4
cd ..
4

0 回答 0