最新vtk9.3在debug下编译时,出现链接问题,但在release下正常。
问题描述:
vtkCommonCore-9.3d.lib(vtkCommonCore-9.3d.dll) : error LNK2005: "public: __cdecl vtkConstantImplicitBackend<float>::vtkConstantImplicitBackend<float>(float)" (??0?$vtkConstantImplicitBackend@M@@QEAA@M@Z) 已经在 vtkToImplicitRamerDouglasPeuckerStrategy.obj 中定义
LNK1169 找到一个或多个多重定义的符号 FiltersReduction
vtkCommonCore-9.3d.lib(vtkCommonCore-9.3d.dll) : error LNK2005: "public: __cdecl vtkConstantImplicitBackend::vtkConstantImplicitBackend(float)" (??0?$vtkConstantImplicitBackend@M@@QEAA@M@Z) already defined in vtkToImplicitRamerDouglasPeuckerStrategy.obj
问题解决方案:
在 Common/Core/vtkConstantImplicitBackend.h 文件中,替换
struct VTKCOMMONCORE_EXPORT vtkConstantImplicitBackend final
为
struct vtkConstantImplicitBackend final
(去掉 VTKCOMMONCORE_EXPORT)
修改后重新编译,问题解决!