在控制台应用程序中使用 VTK (visual studio) - 访问冲突

Using VTK in console application (visual studio) - access violation

我正在尝试将 VTK 框架的一些功能实现到我的应用程序中。编译代码不会出现任何错误,但我的应用程序存在一些 "random" 访问冲突。

您可以使用此示例代码重现此错误。

http://www.vtk.org/Wiki/VTK/Examples/Cxx/IO/ReadSTL

什么有效:

使用 cmake 配置示例项目,编译,运行 应用程序。完全没有问题

什么不起作用:

启动一个新的空控制台应用程序,配置所有额外的包含目录、VTK-lib 文件、VTK-dll 文件(我只是从示例项目中复制了这部分配置)。编译工作完美无误。但是在 运行 的时候,我在这行代码中遇到了访问冲突:

mapper->SetInputConnection(reader->GetOutputPort());

这两个项目都是为 x64 目标编译的。有谁知道什么会导致这种奇怪的行为?

我没有足够的声誉来发表评论,所以我将其作为答案发布。

我个人从来没有在没有 CMake 的情况下在 VTK 中编译过项目,但是对于那些希望走这条黑暗道路的人来说,有在线文档。您可以考虑调查:

http://www.vtk.org/Wiki/VTK/VTK_6_Migration/Factories_now_require_defines