Qt5.9.9+vs2015+vtk8.2.0环境搭建及Qt调用QVTKWidget显示控件(个人纪要)
Qt5.9.9+vs2015+vtk8.2.0环境搭建过程出现问题:
环境搭建参考自非常感谢!
出现问题:camke编译过程顺利,在vs2015的ALL BUILD编译过程中,出现3个报错(基本类似,都是无法打开输入文件…lib):
LINK : fatal error LNK1181: 无法打开输入文件“…\lib\Release\vtkexodusII-8.2.lib”
在资源文件目录下,找到vtkexodusll组件,重新编译vtk组件“vtkexodusll”发现,编译出现错误:
可能原因:在vtk源码的cmake过程中,虽然选择vs2015的windows x64版本,但个别组件没有实现不同版本间完全的源代码转换,导致在vs2015编译过程出错,而无法生成vtkexodusII-8.2.lib。
解决方法:进到vtkexodusll组件源码,将"func"修改成vs2015能够声明的标识符"FUNCTION",大概要改1800+条,可用全局替换快捷键“ctrl+shift+h”进行全局替换,再重新编译vtkexodusll即可成功,最后清理,生成,即可ALL BUILD成功。
出现问题:QVTKWidget显示控件添加失败(网上老生常谈的大坑,这里给出我的解决方案):
QVTKWidget控件添加失败,无论Qt版本多高,通过一顿操作后,只能将其添加在独立打开的Qt Designer中,但在Qt Creator中无法显示,就算在Designer中添加,再到Creator中显示,编译,也一样会报错,或者出bug
可能原因:Qt Designer有x86和x64两种版本,而Qt Creator只有x86一种版本,本文的各种环境均以x64为主,目前的主流也是x64,故在Qt Creator中,添加QVTKWidget就会报错
解决方法:这里就体现到vs的强大,搭建好Qt+vs的环境,将代码放到vs中进行编译,在vs的form目录下,打开ui设计界面,这里可以看到之前添加的QVTKWidget显示控件,在这进行拖动添加,在vs上进行编译,就可以使用该控件。