使用 vtkSmartVolumeMapper::New() 时应用程序崩溃

Application crashes when using vtkSmartVolumeMapper::New()

在运行时 vtkSmartVolumeMapper::New() 步骤发生崩溃。 它深入 vtkFixedPointVolumeRayCastMapper 构造函数。不明白怎么解决这样的问题,求助

Exception thrown at 0x00007FF73A60735A in smop-ptqt.exe: 0xC0000005: Access violation reading location 0x0000000000000000.

Qt 5.15.6、VTK 9.1.0、ITK 5.2.1

最终通过在 cmakelists 中使用 VTK9 的新模块方法修复了 vtkSmartVolumeMapper::New() 上的崩溃。

所以之前,虽然项目使用了一些vtk7.1版本。 CmakeLists 像这样对待 VTK

find_package(VTK CONFIG REQUIRED PATHS "<some_path>/3rd_party/VTK/build/install_dir/lib/cmake/vtk-9.1" )

然后用等等。 target_link_libraries( ...${VTK_LIBRARIES} )

现在我应用了模块方式

    find_package(VTK CONFIG REQUIRED 
    COMPONENTS
        GUISupportQt
        CommonCore
        ViewsCore
        ViewsInfovis
        DICOM
        RenderingCore
        RenderingLabel
        CommonExecutionModel
        RenderingOpenGL2
        InteractionWidgets
        IOPLY
        IOGeometry
        RenderingQt
        RenderingVolumeOpenGL2
        IOImport )

...


target_link_libraries(${PROJECT_NAME} ... 
        VTK::GUISupportQt
        VTK::CommonCore
        VTK::ViewsCore
        VTK::ViewsInfovis
        VTK::DICOM
        VTK::RenderingCore
        VTK::RenderingLabel
        VTK::CommonExecutionModel
        VTK::RenderingOpenGL2
        VTK::InteractionWidgets
        VTK::IOCore
        VTK::IOPLY
        VTK::IOGeometry
        VTK::RenderingQt
        VTK::RenderingVolumeOpenGL2
        VTK::IOImport
        )

...

    vtk_module_autoinit(
    TARGETS ${PROJECT_NAME}
    MODULES VTK::GUISupportQt
        VTK::CommonCore
        VTK::ViewsCore
        VTK::ViewsInfovis
        VTK::DICOM
        VTK::RenderingCore
        VTK::RenderingLabel
        VTK::CommonExecutionModel
        VTK::RenderingOpenGL2
        VTK::InteractionWidgets
        VTK::IOCore     
        VTK::IOPLY
        VTK::IOGeometry
        VTK::RenderingQt
        VTK::RenderingVolumeOpenGL2
        VTK::IOImport
        )

( 受到此脚本的启发,感谢 Qt-VTK-viewer 开发该脚本的开发人员 https://github.com/martijnkoopman/Qt-VTK-viewer/blob/master/CMakeLists.txt )