我有一个使用VTK 6.1 / VS2008的VTK / MFC项目。我打算将这个项目迁移到VTK 8.2 / VS2010,我遇到了一个问题:
在stdafx.h,VTK 6.1我有:
#define vtkRenderingCore_AUTOINIT 4(vtkInteractionStyle, vtkRenderingFreeType, vtkRenderingFreeTypeOpenGL, vtkRenderingOpenGL)
#define vtkRenderingVolume_AUTOINIT 1(vtkRenderingVolumeOpenGL)
这些内容在VTK 8.2上不起作用,我收到链接错误:
error LNK2001: unresolved external symbol "void __cdecl vtkRenderingFreeTypeOpenGL_AutoInit_Construct(void)" (?vtkRenderingFreeTypeOpenGL_AutoInit_Construct@@YAXXZ)
......在VTK 8.2中应该写什么?
稍后编辑:我遇到另一个链接错误:
vtkRenderingOpenGL2-8.2.lib(vtkOpenGLState.obj) : error LNK2019: unresolved external symbol __imp_SymGetLineFromAddr64 referenced in function "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl getProgramStack(void)" (?getProgramStack@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)
可能是什么问题呢 ?
如何使用OpenGL2?
我在VTK 8.1,vs2017遇到了同样的问题
我更改了CMAKE Option使用OpenGL2,并更改了define
#include <vtkAutoInit.h>
VTK_MODULE_INIT(vtkInteractionStyle)
VTK_MODULE_INIT(vtkRenderingOpenGL2)
VTK_MODULE_INIT(vtkRenderingVolumeOpenGL2)
VTK_MODULE_INIT(vtkRenderingFreeType)
它起作用了