0

我设法在 MSVS 2010 中编译了 VTK 示例(http://www.vtk.org/Wiki/VTK/Examples/Cxx/PolyData/Curvatures),但是当我尝试运行它时,它停止了。有人知道原因吗?我可以成功运行其他 VTK 示例,但不能成功运行这个。在此处输入图像描述

4

1 回答 1

2

从评论来看,问题是由在调试应用程序中使用 Release .dll 引起的。请记住,Release 堆与 Debug 堆不兼容。这意味着 Release 堆中的任何分配都不能在 Debug 堆中释放,反之亦然。因此,在同一个应用程序中混合调试和发布通常是不安全的。

现在以 VTK 为例(因为我在许多机器上使用过它,并且在过去 5 年多的时间里使用 Visual Studio 构建了这 100 次)我的建议是关闭使用 vtk 构建共享库。并避免将 INSTALL 目标与 VTK、ITK、GDCM 或任何基于 CMake 的库一起使用,其发布库的名称与其调试库相同。而是对应用程序中需要的所有配置使用 BUILD_ALL。然后,当您需要将应用程序配置为使用 CMake 时,我将 VTK_DIR 指向我构建 VTK 的文件夹的根目录,然后 CMake 将在我的调试应用程序中正确使用调试库,在我的发布应用程序中发布库。

于 2013-11-16T13:47:54.643 回答