错误的原因是链接器不能找到vtkRenderWindow的方法. 此时需要注意build的时候到底是使用了哪个VTK后端,是OpenGL还是OpenGL2. 使用cmake不会报错,是因为它已经默认初始化配置好了。而其它的编译器像VS就没有.
解决方案:
在源文件的顶部加上
#include <vtkAutoInit.h>
VTK_MODULE_INIT(vtkRenderingOpenGL2);// VTK was built with vtkRenderingOpenGL2
VTK_MODULE_INIT(vtkInteractionStyle);
或者
#define vtkRenderingCore_AUTOINIT 2(vtkRenderingOpenGL2, vtkInteractionStyle)
Reference:
https://stackoverflow.com/questions/18642155/no-override-found-for-vtkpolydatamapper