VS2015 + VTK 7.1.0 + Qt 5.8.0从VTK入口点失败运行Qt示例

时间:2017-01-27 13:57:25

标签: c++ qt visual-studio-2015 vtk qvtkwidget

目前我正在尝试将VTK库与Qt结合使用来构建一个可视化STL文件的应用程序。为了开始,我安装了以下库/程序:

  • Visual Studio 2015专业版
  • CMake 3.7.0
  • VTK 7.1.0
  • Qt 5.8.0

对于Qt,我使用了为vs2015编译的版本:

  • QT-开源窗口86 msvc2015_64-5.8.0.exe

按照Kitware提供的说明后,一切似乎都没问题,我在配置和构建VTK时没有遇到任何错误。所以我决定使用VTK的一些示例代码作为起点。

应用程序的链接和构建再次顺利但是当我尝试启动应用程序时,我收到了以下错误:

程序入口点?rgbSwapped @ QImage @@ QEHAA $$ QEAV1 @ Z无法位于动态链接库C:\ VTK \ bin \ bin \ Release \ vtkGUISupportQt-7.1.dll中。

我搜索了一个解决方案,但找不到一个。我也尝试过其他版本的VTK和Qt,但我仍然遇到这个错误。例如今天早上我尝试将VTK 6.3.0与Qt 4.8.5结合使用,再一次完成,直到我尝试运行一些代码这次我收到了这个错误:

过程入口点?doItemsLayout @ QTableView @@ UAEXXZ无法位于动态链接库C:\ VTK \ bin \ bin \ Release \ vtkGUISupportQt-6.3.dll中。

如果有人遇到过这种错误,请告诉我。

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。对我来说这似乎很奇怪,为什么系统在$ PATH中没有看到QT dll,但是如果你把Qt dll放在你的可执行目录中它会运行正常。也许有更多过期的人可以解释这种行为。

答案 1 :(得分:0)

  

我觉得很奇怪,为什么系统在$ PATH中看不到QT dll,   但是如果你把Qt dll放在你的可执行目录中它就可以正常运行。

这取决于Windows如何找到DLL。有关详细信息,请参阅Dynamic-Link Library Search Order。出于这个原因,我总是将所需的DLL放在可执行文件目录中,以便使用正确版本的DLL。最好有一个必需的DLL列表,因为这些DLL也需要运送给最终用户。