在控制台应用程序中使用 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
我正在尝试将 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