当前位置: 代码迷 >> 综合 >> VS2017+QT5.9.1+PCL1.9.1+VTK8.1.0配置遇到无法定位程序输入点于动态链接库....VTKGUISupportQt-8.1_d.dll
  详细解决方案

VS2017+QT5.9.1+PCL1.9.1+VTK8.1.0配置遇到无法定位程序输入点于动态链接库....VTKGUISupportQt-8.1_d.dll

热度:43   发布时间:2023-12-24 08:44:04.0

配置参考博客:
https://blog.csdn.net/qq_34512507/article/details/100991932#comments_12760404
https://blog.csdn.net/weixin_41457494/article/details/90703516
CAMKE下的操作,对于VTK8.2而言,其CMakelList.txt里第16、17行设置了CMAKE_DEBUG_POSTFIX,但是VTK8.1.0没有,为了区分Debug和Release模式下编译的dll,需要借助cmkae_gui手动设置:点击Add Entry → 添CMAKE_DEBUG_POSTFIX,Value设置为-d。

参考博客配置环境后,编译通过,调试后报错:

无法定位程序输入点于动态链接库......vtkGUISupportQt-8.1_d.dll

百度,查阅相关资料。得到以下两个方法:

(1)在主函数前加

#include <QApplication>
#include <QMainWindow>
#include <vtkAutoInit>
VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);

(2)QT未添加到环境变量

   将QT可执行目录(C:\Qt\Qt5.7.1\5.7\msvc2015_64\bin)添加到系统的环境变量中,并重启电脑。

但是遗憾的是上面两个方法都没有解决问题,还是出现这个错误,开始逐步寻找错误,是哪个地方的问题。
首先把该DLL文件,移到调.exe目录下时候,链接时首先会选择最近的dll,因此报错的时候变成了程序下的dll文件。
因为vtk的配置文件时从参考博主上下载的,莫非解压的时候发生了错误?
重新cmake了vtk8.1原文件,不同的是在编译的过程中,在已选择适配QT的基础上,找到advanced。在【module】下面选择了GUISupport选项进行了编译。将编译后的vtkGUISupporqt-8.1_d.dll放到调试目录下,可以正常调试。

小问题,将编译后的三个文件移到C:\Qt\Qt5.9.1\5.9.1\msvc2017_64\plugins\designer。QTdesigner里面没有出现QVTK的身影。

 

  相关解决方案