share 一下吧。。用了两三天时间才完全解决这些问题。。不全是本姑娘笨。。是Build一次你造要用多久么。。累不爱。。
官网教程:
(1)Building VTK on Windows using Visual Studio (from a zip/tar file)
http://www.vtk.org/Wiki/VTK/Building/Windows
(2)VTK/Tutorials/QtSetup
http://www.vtk.org/Wiki/VTK/Tutorials/QtSetup#All_systems
1
http://blog.csdn.net/a826319028/article/details/19493453
(1)注意QT5.2.1选择 msvc2012+OpenGL版本的,默认安装路径即可。
添加QT路径系统变量。参考(0)
QTDIR:C:QtQt5.2.1
Path:C:QtQt5.2.15.2.1msvc2012_64_opengl
(2)解压下载到的VTK6.1只有这个版本的支持QT5!!
我这里是在D盘建立了VTK61文件夹。
vtksource文件解压到D:VTK61VTK-6.1.0
vtkdata应当会自动解压到D:VTK61VTK-6.1.0.ExternalData的,无需再为之建立一个data文件夹<-注意这里与旧版是不一样的。
(3)CMake选择2.8.11.2及之后版本,看官网它们对QT5的支持。
source code选择:D:/VTK61/VTK-6.1.0
bin选择:D:/VTK61/bin(自己新建的)
注意那个CMake_install_perfix之后会加入路径帮你找各种头文件的。。默认也行。。最后一步介绍。。
configure:选择msvc 11 win64(我的机器是win8.1 64)
漫长的结束之后
务必勾选shared libs和VTK_Group_QT,
务必重设:CMAKE_PREFIX_PATH:C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64
或者在 QT安装路径下找到,Qt5GuiConfigExtras.cmake,文件的最开始添加一句
set(CMAKE_LIBRARY_PATH "C:\Program Files (x86)\Windows Kits\8.0\Lib\win8\um\x64")
否则那是一定会报错的:
CMake Error at C:/Qt/Qt5.2.1/5.2.1/msvc2012_64_opengl/lib/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake:16 (message):
Failed to find "glu32" in "" with CMAKE_CXX_LIBRARY_ARCHITECTURE "".
Failed to find "glu32" in "" with CMAKE_CXX_LIBRARY_ARCHITECTURE "".
解决方法就是像上面一样。。更改Qt5GuiConfigExtras.cmake,让它找到这个sdk里面的库
(4)继续configure。。报错。。表怕。。选择Advanced。
修改VTK_QT_VERSION: 5,再次configure。。全部通过。。generate。。。
(5)打开你的VTK.sln,选择Properties->配置->Release,之后Build-F7。。
(a)编译release版本
编译:在VS2012界面,工程属性中选择编译版本为release,而后点击F7开始编译,也可右击ALL_BUILD工程选择生成。编译结束,如果输出没有错误,说明编译完成。
在inRelease中找到QVTKWidgetPlugin.dll,QVTKWidgetPlugin.exp,QVTKWidgetPlugin.lib保存以备后用。
(b)编译debug版本
将vtk_bin_release文件夹下的文件复制到vtk_bin_debug后,打开VS2012,重新编译。
编译:在VS2012界面,工程属性中选择编译版本为debug,而后点击F7开始编译,也可右击ALL_BUILD工程选择生成。编译结束,如果输出没有错误,说明编译完成。
安装:在解决方案中找到INSTALL工程,右击该工程后选择生成,即可完成VTK的安装,VTK的安装路径为CMAKE_INSTALL_PREFIX参数所设。
注:为什么要编译两遍VTK?
因为在debug版本下编译的QVTKWidget打不开,无法使用,只能使用release下的QVTKWidget,所以要编译release版,但写程序必须要调试,VTK的库必须是debug版本的才能正常调试,为此我们编译两次。
经历一段漫长的Build之后。。在D:VTK61ininDebug 下生成了各种.lib和.dll
找到INSTALL,右键,Project Only->build only install。。
会在你一开始设置的CMake_install_perfix中生成所有的。。lib。。
像这样
之后将这个文件的路径加到系统path就好了
好了。。我们可以开始进行VTK+QT之旅了
参考:
(0)
(1)
(2)
(3)