崩潰發生在運行時的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
uj5u.com熱心網友回復:
最后通過在 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://www.uj5u.com/caozuo/420009.html
標籤:
