VTK8.2.0在Windows10+VS2017+Qt 5.12环境下编译安装
前言:由于学习需要最近开始接触VTK库,需求是在Qt Creator中使用VTK库进行图形显示。这一阶段看了许多如何编译VTK的博客,很多博客都写的很棒简洁易懂,为我入门带来了很大的帮助。写此篇博客一是想梳理编译安装思路,二是想给后来人做一个参考,三是想今后需求时再回来看本博客操作即可,四是希望作为一个开端为今后的VTK入门文章做一个铺垫。
因为编译会花费很多时间,我已经将编译好的Release与Debug版本的库上传CSDN可以通过链接https://download.csdn.net/download/annjeff/11026067进行下载。必须保证系统为Win10 64位,VS为2017 64位 Qt 为5版本才可以使用。当然我建议后来人自己编译,这样可以尝试一下整改流程。
如果文章有不详细的地方,或需要修改的地方,可以给我留言,我会一直修改这篇文章^ - ^。
目录
Windows10+VS2017+Qt 5.12+VTK8.2.0编译安装
4.1.将VTK Release版本中的QVTKWidgetPlugin放于Qt 的 Designer里
0.前期准备
1.VTK源码 | 网站地址:https://vtk.org/download/ |
2.Cmake | 网站地址:https://cmake.org/download/ |
3.VisualStudio | 网站地址:https://visualstudio.microsoft.com/zh-hans/downloads/ |
4.Qt | 网站地址:https://www.qt.io/download |
5.瓜子、花生、电影 | 后面会用到的(^ _ ^) |
Tips:1.Cmake有时官网下载速度慢,此时可以在百度下载安装即可。
2.此处所有的软件我的环境均安装的64位版本,同时也建议你安装64位。
1.编译之前规划
在进行编译之前先规划好编译中产生的文件所在的目录,清晰的目录结构是一个很不错的习惯。我的做法同其他博主类似,先为VTK新建一个文件夹,将此目录作为VTK的家目录。在VTK目录之下新建四个目录,它们分别是:VTK-8.2.0-src(将下载的源码解压到此目录下);VTK-8.2.0-bin(VTK在编译时生成编译的二进制文件放在此文件夹中);VTK-8.2.0-Install-VS2017-x64-Release(生成的lib文件include文件放于其中,此即我们需要的库的Release版本);VTK-8.2.0-Install-VS2017-x64-Debug(生成的lib文件include文件放于其中,此即我们需要的库的Debug版本)。最后需要声明:VTK官网提供了VTK-8.2.0-Data,这是运行VTK示例所需要的数据,一般不需要,下载下来也无妨,看个人需求吧。
2.开始Cmake编译VTK库
Step01.打开安装的cmake-gui,选择VTK源码路径,以及二进制存放路径,此即我们规划的VTK-8.2.0-src与VTK-8.2.0-bin。然后开始Config即可。
Step02.选择Visual Studio 17 2017 Win64(64位版本的VS 2017)编译。选择后点击Finish。
step03.第一次Config完成以后,此时界面会变成红色。我们需要对一些选项进行配置。这一步我们勾选BUILD_EXAMPLES即编译VTK自带的示例文件。当然这不是必须的,勾选编译示例会增加额外的编译时间。但是,BUILD_SHARED_LIBS一定确保是勾选的,VTK-8.2.0默认是勾选的。此项的作用是生成动态共享库DLL。
step04.这一步选择是相当重要的,CMAKE_INSTALL_PREFIX是我们VTK库要安装的位置,亦即VTK编译后生成的库文件所在位置,建议将位置修改为我们规划的VTK-8.2.0-Install-VS2017-x64-Debug文件夹。虽然图中是Release,但是我还是建议选择Debug文件夹,因为我的思路是先生成Release版本的VTK库,生成后,将所有文件全部剪切到VTK-8.2.0-Install-VS2017-x64-Release文件夹下。接下来再次生成Debug版本,就会在Debug文件夹里了。之所以这么做,还是因为我们选择CMAKE_INSTALL_PREFIX路径后不可以改变。
step05.因为我们要使用Qt所以此处要勾选VTK_Group_Qt。
step06.使用第三方的经验告诉我们,Debug版本的库后面一般带d表示是Debug版本。例如:opencv_world400.lib是Release版本的库,opencv_world400d.lib是Debug版本的库。因此,为了区分版本,我们在CMAKE_DEBUG_POSTFIX后面添加d这样进行Debug版本编译时会在库文件名后面多个d。
[step07].如果你下载了VTK-8.2.0-Data,在VTK_DATA_STORE中可以选择VTK-8.2.0-Data所在的路径。这一步为非必要步骤。执行完以上步骤以后再次点击Config。
step08.你会发现这里还是有一片红色区域,这里是让我们选择Qt5的位置,基本是Qt_DIR/5.12.0/msvc2017_64/lib/cmake/Qt*,按左侧的名字勾选即可。
stop09.确定VTK_QT_VERSION是5版本。然后再次点击Config。
step10.Configuring done后,此时是白色区域,代表没有错误。如果你的界面依旧有红色,返回检查以上哪步没有勾选,一直Config到白色界面位置。此时可以点击Generate。
step11.Generate done后,同样是白色区域,代表没有错误。到这里CMAKE的阶段就已经完成了。
3.开始VS编译安装VTK
step01.Cmake阶段完成以后,找到我们规划的VTK-8.2.0-bin文件夹,找到VTK.sln。打开Visual Studio2017,如果你安装了VAssitX插件(小番茄)建议您暂时关闭该插件,因为会降低速度。此时打开VTK.sln项目,因为项目非常大,文件非常多,所以打开的速度会比较慢。
step02.当你发现VS左下角显示就绪时,此时项目已经加载完毕。
step03.此时选择【生成】-->【批生成】。
step04.在ALL_BUILD Release x64 栏 勾选 √---->点击【生成】。还记得刚刚让你准备的瓜子、花生、电影么,现在派上用场了^ _ ^,因为这一步会执行很长的时间。看电脑配置,一般电脑大约在半小时左右。
step05.有木有很开心,终于生成完了。
step06.接下来,把刚刚勾选的ALL_BUILD Release后面的√去掉,下拉,在INSTALL Release后面勾选。这一步就是在安装VTK的Release版本。其本质就是生成Release版本的库文件。放心好了,这一步很快的。
step07.当你看到这一步的时候,你已经成功的生成了VTK-8.2.0的Release版本的库文件。到哪里去找呢?生成的Release版库文件在我们规划的VTK-8.2.0-Install-VS2017-x64-Debug里面(因为我们Camke时选择的这个文件夹),这时我们需要把文件剪切到VTK-8.2.0-Install-VS2017-x64-Release文件夹里,到这里Release版本生成成功。
step08.这便是VTK的库文件
step09.你会发现Release版本的后面没有d。我们以后使用VTK进行开发,用的就是这些库文件。
step10.如果你需要Debug版本的VTK库,此时需要在【生成】-->【批生成】里,把刚刚勾选的INSTALL Release后面的√取消。然后可以直接一起勾选ALL_BUILD DEBUG x64 与 INSTALL Debug,生成结束以后,会在VTK-8.2.0-Install-VS2017-x64-Debug文件夹里生成库文件。此时编译阶段完成。
step11.生成的Debug版本的库后面带d,以区分Release版本。
4.安装VTK后续配置
VTK的Release版本与Debug版本的库都已经生成完毕了,此时我们该考虑如何在Qt Creator中使用生成的VTK库。如何在Qt Creator 中使用VTK库,我会在下面一篇文章中详细介绍,这里我们先做一些准备。
4.1.将VTK Release版本中的QVTKWidgetPlugin放于Qt 的 Designer里
Qt作为图形显示软件,其强大之处在于可以直接绘制UI界面,而VTK是Qt 的好基友,因此为其专门生成来的可用于Qt 的Designer界面绘制的插件。方法也很简单,将Release 版本下 D:\VTK\VTK-8.2.0\VTK-8.2.0-Install-VS2017-x64-Release\plugins\designer\QVTKWidgetPlugin.dll复制到 Qt Creator的D:\Qt\5.12.0\msvc2017_64\plugins\designer\文件夹下,此时单独打开Qt Designer(msvc2017_64版)会发现已经集成了QVTK。可以通过拖动的方式绘制。
4.2.将VTK的路径放于系统的Path路径里
【控制面板】-->【系统和安全】--【系统】-->【高级系统设置】-->【环境变量】,新建,固定写VTK_DIR变量值为VTKConfig.cmake所在的路径,这里是方便后面以Cmake的方式构建VTK程序。
5.结语
如果你已经坚持看到这里,而且是已经编译成功,恭喜你,后来人。接下来你可以进行VTK的学习,这里我想向你推荐两本书。你在学习VTK,基本可以判定你是本科及以上学历,如果你英文还好,推荐你看《VTKUsersGuide》VTK官网可以下载pdf,如果你英文有些吃力,可以看《VTK图形图像开发进阶》这本书,国内经典书籍,作者也是较早使用VTK的前辈。总之,希望你可以坚持下去,也希望我的博客可以带给你一点帮助。