VTK - 从6.1迁移到8.2

问题描述 投票:0回答:1

我有一个使用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)

可能是什么问题呢 ?

visual-c++ mfc vtk
1个回答
1
投票

如何使用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)

它起作用了

© www.soinside.com 2019 - 2024. All rights reserved.