我在ubuntu 64bit上使用qt5.5构建了vtk6.3,我用qtcreator.Build打开一个例子,然后发生链接错误:
通用警告:在/VTK/Rendering/Core/vtkRenderWindow.cxx,第40行 错误:找不到'vtkRenderWindow'的覆盖。
第40行带有doc:
//Use the vtkAbstractObjectFactoryNewMacro to allow the object factory overrides.
vtkAbstractObjectFactoryNewMacro(vtkRenderWindow)
我谷歌这个问题,几乎所有的解释都是关于这个link,似乎我必须在我的cpp文件中添加这个宏来启用工厂方法:
include <vtkAutoInit.h>
VTK_MODULE_INIT(vtkRenderingWindow)
但我又收到了一个错误:
error: undefined reference to `vtkRenderingWindow_AutoInit_Construct()'
error: undefined reference to `vtkRenderingWindow_AutoInit_Destruct()'
我找不到任何构建的库定义这些符号,google它几乎什么都没有。我是vtk的新手,有人可以给一些帮助吗?
答案 0 :(得分:0)
使用VTK_MODULE_INIT(vtkRenderingOpenGL)
代替VTK_MODULE_INIT(vtkRenderingWindow)
。它对我有用。