一. 问题
为了调试HSMRI这个程序出现的错误,之前将MITK在VS2013的X64、debug模式下编译了,编译成功。然后将HSMRI这个程序的属性全都改了,更爱的属性主要是有:库目录、包含目录、附加依赖项。然后将HSMRI这个程序在debug模式下运行出现了问题,问题是我程序需要的
qvtkwidget这个插件
在release模式下用的是对应的QVTKWidgetPlugin.dll;
在debug模式下用的是对应的QVTKWidgetPlugind.dll;
如果将QVTKWidgetPlugin.dll放到Qt的designer这个目录,如下图所示:
进行release模式的运行,没有问题;
如果将QVTKWidgetPlugind.dll放到Qt的designer这个目录,如下图所示:
进行debug模式的运行,会报如下错误;
link error:no override found for 'vtkRenderWindow'。
并且亲测,在这种情况下,在VS2013中用Qt designer打不开ui文件。
二. 解决
参考:
https://stackoverflow.com/questions/33770279/vtk6-3-link-errorno-override-found-for-vtkrenderwindow
在debug模式下,在程序中加入下面两句话
#include <vtkAutoInit.h>
VTK_MODULE_INIT(vtkRenderingOpenGL)
如图所示:
问题解决。
三. 不足
但是此时运行程序会弹出警告窗口:
这个警告不影响程序的运行。