我在YouCompleteMe(插件)中使用了Vim。 我的操作系统是Ubuntu 16.04。我的shell是Z shell(zsh)。
以下代码是一个vtk示例。(来自here)
问题
在第13行宣布'cylinderSource'。 但是,第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()
build.sh
cd build
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ..
cp compile_commands.json ~/.vim/
make -j4
cd ..