ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

在windows上从低版本VTK到9.5版本升级遇到的问题总结

在windows上从低版本VTK到9.5版本升级遇到的问题总结

错误 LNK2001 无法解析的外部符号 vtk_glad_glTexParameteri

原因: 在 VTK 9.0 中,你可能链接的是 vtkglew 相关的库,而到了 VTK 9.5,许多 OpenGL 函数(如 glTexParameteri)被封装在了 vtkglad 模块中。报错说明你的项目链接器找不到 vtk_glad_glTexParameteri 的实现。

解决方法:
如果你使用的是 VTK 静态库,GLAD 需要特定的宏来正确导出符号:

  • 在 C/C++ -> 预处理器 -> 预处理器定义 中添加:GLAD_API_CALL_EXPORT
  • 或者如果是你自己在构建 VTK,确保 VTK_MODULE_USE_EXTERNAL_vtkglad 的设置与你的项目一致。

VTKIMAGINGGENERAL_EXPORT

这是最核心的问题。VTKIMAGINGGENERAL_EXPORT 是专门给 VTK 官方库编译 vtkImagingGeneral 模块时使用的。

  • 当你编译自己的项目(如 VolumeRender)时,如果你标记自己的类为 VTKIMAGINGGENERAL_EXPORT,链接器会认为这个类应该从 vtkImagingGeneral-9.5.dll 中导入。
  • 然而,这个类是你自己写的,它不在官方的 DLL 里,因此链接器会报错:无法解析的外部符号。
返回列表