我正在将 Vim 与 YouCompleteMe(插件)一起使用。我的操作系统是 Ubuntu 16.04。我的外壳是 Z 外壳(zsh)。
下面的代码是一个 vtk 示例。(来自这里)
问题
在第 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 ..