VTK编译中出现 “no override found for vtkpolydatamapper”

   我的开发平台是VS2015+pcl1.8.0, 对应的VTK版本是VTK7.0。这种问题是因为没有用cmake,而是直接用控制台结合VTK的库函数进行开发的。查看PCL1.8.0下VTK的安装包发现vtkRenderingOpenGL都不是vtkRenderingOpenGL2版本的。
VTK编译中出现 “no override found for vtkpolydatamapper”_第1张图片

解决方法:在文件开头加入
#include "vtkAutoInit.h"
VTK_MODULE_INIT(vtkRenderingOpenGL); // VTK was built with vtkRenderingOpenGL
VTK_MODULE_INIT(vtkInteractionStyle);
 头文件也可以表示为
#include //用相对路径
但是依然出现以下错误:
 error LNK2001: 无法解析的外部符号 "void __cdecl vtkRenderingOpenGL2_AutoInit_Construct(void)" (?vtkRenderingOpenGL2_AutoInit_Construct@@YAXXZ)


解决方法:调试->属性->链接器->输入->附加依赖项,添加vtkRenderingOpenGL-7.0.lib
VTK编译中出现 “no override found for vtkpolydatamapper”_第2张图片
再次运行,正确,结果如下:
VTK编译中出现 “no override found for vtkpolydatamapper”_第3张图片

你可能感兴趣的:(pcl)