每日积累(20161201-day-9)(依赖vtk的工程项目)

依赖vtk的工程项目

问题:编译可以成功,但是运行出现no override found for "vtkRenderingOpenGL"

出现原因:CMakeLists.txt中缺少相应的库模块,可以通过文档查阅确定库名,在CMakeLists.txt中添加:
find_package(VTK_COMPONENTS vtkRenderingOpengle)
在.cpp中vtk相关头文件前加
#include
VTK_MODULE_INIT(vtkRenderingOpenGL);
如果光在.cpp中添加,不再CmakeLists.txt中添加,则出现问题:
CMakeFiles/MarchingCubes.dir/MarchingCubes.cxx.o: In function `vtkRenderingOpenGL_ModuleInit::vtkRenderingOpenGL_ModuleInit()':
MarchingCubes.cxx:(.text._ZN29vtkRenderingOpenGL_ModuleInitC2Ev[_ZN29vtkRenderingOpenGL_ModuleInitC5Ev]+0xd): undefined reference to `vtkRenderingOpenGL_AutoInit_Construct()'
CMakeFiles/MarchingCubes.dir/MarchingCubes.cxx.o: In function `vtkRenderingOpenGL_ModuleInit::~vtkRenderingOpenGL_ModuleInit()':
MarchingCubes.cxx:(.text._ZN29vtkRenderingOpenGL_ModuleInitD2Ev[_ZN29vtkRenderingOpenGL_ModuleInitD5Ev]+0xd): undefined reference to `vtkRenderingOpenGL_AutoInit_Destruct()'

你可能感兴趣的:(知识点,VTK)