window下CMake与VTK安装
此文章是讲述在window下安装和配置VTK工具包的记录,Vtk,(visualization toolkit)是一个开源的免费软件系统,主要用于三维计算机图形学、图像处理和可视化。Vtk是在面向对象原理的基础上设计和实现的,它的内核是用C++构建的,包含有大约250,000行代码,2000多个类,还包含有几个转换界面,因此也可以自由的通过Java,Tcl/Tk和Python各种语言使用vtk。
PCL库函数中可视化,以及一些设计到CAD的obj格式的点云的处理都是基础VTK的所以这个工具,也是十分重要。
(1) CMake安装
电脑配置: win10,vs2017社区版
在Cmake官网下载Cmake安装包,双击运行安装。
开始安装,基本是一直Next就可以,
可以添加CMake到系统路径,比较方便。
选择安装路径,继续Next
点击install安装
完成安装
可以看到已经安装好了
(2) VTK安装
在VTK官网下载VTK安装用的源码包、数据包、文档包,其中文档包可下载可不下载,很多教程提到的.exe文件(Installer)只是一个辅助教学程序,帮助了解VTK的,并不是所谓的安装包,所以在后面更新的版本中,VTK已经不提供.exe文件了。
新建一个VTK8.0的文件夹,并在该文件夹下建立三个子文件夹,VTKScr、VTKData、VTKDoc分别存放对应的解压文件,再新建一个bin子文件夹
打开CMake,设置Source code路径和Build路径
Source code是解压后的源码文件夹的路径
Build路径是bin路径
检查路径是否正确,点击configure按钮
选择要使用的编译器Visual Studio 15 2017(可以根据自己电脑装的VS版本进行更改),选择使用本地编译器,点击finish,完成
等待构建,完成后如图
勾选需要的功能
BUILD_EXAMPLES——指明是否编译VTK中的例子。未激活可以减少编译时间,之后也
可以再进行单独编译。
·BUILD_TESTING——指明是否编译VTK中的测试代码。未激活可以减少编译时间,之后也
可以再进行单独编译。
·BUILD_SHARED_LIBS——指明是否创建共享库。如果激活,那么DLL或共享库将会被创建,这样之后生成的VTK应用程序将会比较小,可以节省不少空间;如果未激活,那么静态库将被创建。缺省设置是静态库。
·CMAKE_INSTALL_PREFIX——VTK的生成路径。安装可以使源码中的.h文件及编译生成的.lib文件和.exe程序分别复制到安装路径的不同子目录下。
VTK_WRAP_JAVA、VTK_WRAP_PYTHON、VTK_WRAP_TCL —这三个选项是供准备使用Java、Python或者Tcl语言开发VTK工程的用户选择的。VTK由两个子系统组成,分别是C++类库和提供给Java、Tcl和Python来操作该类库的解释器工具,如果勾上以上三个选项,即会编译这些解释器工具。
勾选 “Advance”复选框,可以在CMake界面上看到更多的选项,各选项分别表示什么意思,可以把鼠标在该选项名字停留片刻,即会弹出关于该选项的提示信息。另外“Advance”视图下以下几个选项需要说明一下:
BUILD_DOCUMENTATION —默认是关闭的,如果打开这个选项,则会编译VTK帮助文档,由于这个文档VTK已提供下载,所以可以不选。
VTK_USE_GUISUPPORT —VTK是否支持GUI,Windows下如果需要使用MFC开发的,需要勾选上这个选项。本教程在演示的时候也会把这个选项勾选,如果你确定不使用MFC,可以不用选择该选项。
·VTK_USE_GUISUPPORT——指明是否支持GUI。激活后Configure,会产生两个新缓存项,激活其中一个缓存项VTK_USE_MFC,这样就可以进行VTK与MFC的混合编程,可以编写类似于VTK自带的例子Examples\GUI\Win32\vtkMFC中的程序。如果不选将无法利用MFC类库。
·VTK_WRAP_TCL——可以帮助我们调试一些基于TCL脚本的VTK实例
如果报错说找不到编译器的话,确认一下自己编译器的版本是不是VS2017,再注意VS2017的c++编译组件是否已经下载好,没下载好就用vs新建一个c++工程,因为vs默认安装的时候并没有自行下载
再次点击configure,完成后点击generate
编译完成后再在解决方案中找到INSTALL工程,右击该工程后选择生成,即可完成VTK的安装,VTK的安装路径为CMAKE_INSTALL_PREFIX参数所设。
VTK是一个开放源码、自由获取的软件系统,研究人员和开发人员用它来进行3D计算机图形,图像处理,可视化。VTK包含一个c++类库,众多的翻译接口层,包括Tcl/Tk,Java,Python。 Visualization Toolkit 是一个用于可视化应用程序构造与运行的支撑环境,它是在三维函数库OpenGL 的基础上采用面向对象的设计方法发展起来的,它将我们在可视化开发过程中会经常遇到的细节屏蔽起来,并将一些常用的算法封装起来。比如 Visualization Toolkit 将我们在表面重建中比较常见的MarchingCubes 算法封装起来,以类的形式给我们以支持,这样我们在对三维规则点阵数据进行表面重建时就不必再重复编写MarchingCubes 算法的代码,而直接使用Visualization Toolkit 中已经提供vtkMarchingCubes 类。 Visualization Toolkit 是给从事可视化应用程序开发工作的研究人员提供直接的技术支持的一个强大的可视化开发工具
由于篇幅较长,下一讲将会说明如何配置VTK工程,并给出测试例程!!!感谢四四十六道友的分享,同时也鼓励大家一起分享!