ВТК - Миграция с 6,1 до 8,2 - PullRequest
0 голосов
/ 11 марта 2019

У меня есть проект VTK / MFC, который использует VTK 6.1 / VS2008. Я намерен перенести этот проект в 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)

... что тут писать в ВТК 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)

В чем может быть проблема?

1 Ответ

1 голос
/ 14 марта 2019

Как насчет использования OpenGL2?

У меня такая же проблема у VTK 8.1, vs2017

Я изменил опцию CMAKE, используя OpenGL2, и изменил определение

#include <vtkAutoInit.h>

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

и все заработало

...