VTK - Migrating from 6.1 to 8.2

心已入冬 提交于 2019-12-24 20:14:11

问题


I have a VTK/MFC project which use VTK 6.1 / VS2008. I intend to migrate this project to VTK 8.2 / VS2010, and I encounter a problem:

at stdafx.h, VTK 6.1 I have:

#define vtkRenderingCore_AUTOINIT 4(vtkInteractionStyle, vtkRenderingFreeType, vtkRenderingFreeTypeOpenGL, vtkRenderingOpenGL)
#define vtkRenderingVolume_AUTOINIT 1(vtkRenderingVolumeOpenGL)

These inits doesn't work on VTK 8.2, I get a link error:

error LNK2001: unresolved external symbol "void __cdecl vtkRenderingFreeTypeOpenGL_AutoInit_Construct(void)" (?vtkRenderingFreeTypeOpenGL_AutoInit_Construct@@YAXXZ)

... what should write here in VTK 8.2 ?

Later edit: I encounter another link error:

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)

What could be the problem ?


回答1:


How about use OpenGL2?

I have a same Problem at VTK 8.1 , vs2017

I changed CMAKE Option use OpenGL2 , and changed define

#include <vtkAutoInit.h>

VTK_MODULE_INIT(vtkInteractionStyle)
VTK_MODULE_INIT(vtkRenderingOpenGL2)
VTK_MODULE_INIT(vtkRenderingVolumeOpenGL2)
VTK_MODULE_INIT(vtkRenderingFreeType)

and it worked



来源:https://stackoverflow.com/questions/55108817/vtk-migrating-from-6-1-to-8-2

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!