VTK8.2.0编译安装与测试用例运行(win10 + VS2017 + Qt5,Release+Debug)

在win10系统利用cmake与VS2017对VTK8.2.0源码进行编译安装,VTK图像界面支持Qt5,编译生成Debug与Release两个版本,并对VTK自带的测试用例进行编译运行。参考博客:https://blog.csdn.net/hrq3333/article/details/81260963。

一. 依赖

(1) VS2017 64bit
(2) Qt5 (open source版本即可)
(3) cmake
具体安装过程参照博客https://blog.csdn.net/pianzang5201/article/details/79721623,VS2017需要安装Qt VS Tools。

二. cmake编译

1. VTK源码

VTK8.2.0源码:
VTK8.2.0编译安装与测试用例运行(win10 + VS2017 + Qt5,Release+Debug)_第1张图片
下载后解压到一个文件夹下,另外新建2个文件夹,一个用作编译目录,一个用作安装目录,我的目录是:
VTK8.2.0编译安装与测试用例运行(win10 + VS2017 + Qt5,Release+Debug)_第2张图片

2. VTK编译

(1). 用管理员身份运行cmake,“source code"目录为源码目录(D:/VTK-8.2.0/VTK-source),“build the binaries"目录为编译目录(D:/VTK-8.2.0/VTK-build)。同时勾选 Advaced(显示cmake advanced 变量):
在这里插入图片描述
(2). 点击Configure,在弹窗中选择generator为Visual Studio 15 2017 Win64,表示64位的VS2017(Visual Studio 15 2017选项是表示32位的),点击Finish
VTK8.2.0编译安装与测试用例运行(win10 + VS2017 + Qt5,Release+Debug)_第3张图片
(3). 等待configure完成,cmake界面会出现一堆红色的Name与Value,我们需要手动修改一些变量的值:
VTK8.2.0编译安装与测试用例运行(win10 + VS2017 + Qt5,Release+Debug)_第4张图片
(a) 勾选BUILD_SHARED_LIBS,使生成VTK的lib与dll:
在这里插入图片描述
(b) 勾选BUILD_EXAMPLES,使编译生成一些测试用例:
在这里插入图片描述
(c ) 设置CMAKE_DEBUG_POSTFIX的值,该变量表示在Debug模式下输出的文件名的后面加上的字符,我设置为”_d”,则最后Debug模式下编译生成的文件名后面都有"_d"后缀,从而区分Release模式与Debug模式所用文件:
在这里插入图片描述
(d) 勾选VTK_Group_Qt,让VTK支持Qt Application:
在这里插入图片描述
(e) 设置CMAKE_INSTALL_PREFIX目录为VTK安装目录(D:/VTK-8.2.0/VTK-install)在这里插入图片描述

注意:CMAKE中的路径,分隔符都需要使用"/",而不能使用windows的"\",不然在cmake文件中会被当做转义字符而无法识别。

修改完以上5个变量后,再次点击Configure

(4) 再次点击Configure后,红色变量会少一些,请确认红色变量的路径(Qt路径,Examples路径)是否正确,以及Qt的版本是否为5:
VTK8.2.0编译安装与测试用例运行(win10 + VS2017 + Qt5,Release+Debug)_第5张图片
若正确,则再次点击Configure,正常的话就不会再有红色的变量,接下来点击Generate
VTK8.2.0编译安装与测试用例运行(win10 + VS2017 + Qt5,Release+Debug)_第6张图片
在编译目录下(D:/VTK-8.2.0/VTK-build)会生成VTK.sln。

3. VS2017生成

cmake编译完成后,需要用VS2017对项目进行生成与安装。

注意:直接在cmake中点击Open Project打开VS2017可能会生成失败,因为一些文件夹的读写权限问题。我们需要用管理员权限打开VS2017后,再打开项目VTK.sln。

(1). 使用管理员身份运行VS2017,打开项目VTK.sln,选择Debugx64,然后右键ALL_BUILD,点击生成
VTK8.2.0编译安装与测试用例运行(win10 + VS2017 + Qt5,Release+Debug)_第7张图片
等待一段时间,当全部成功后:
VTK8.2.0编译安装与测试用例运行(win10 + VS2017 + Qt5,Release+Debug)_第8张图片
(2). 再右键INSTALL,选择仅用于项目–>仅生成INSTALL
VTK8.2.0编译安装与测试用例运行(win10 + VS2017 + Qt5,Release+Debug)_第9张图片
当生成成功后:
VTK8.2.0编译安装与测试用例运行(win10 + VS2017 + Qt5,Release+Debug)_第10张图片
可以在设置的VTK安装目录下(D:/VTK-8.2.0/VTK-install),看到所生成的lib文件的文件名后缀都有"_d"
VTK8.2.0编译安装与测试用例运行(win10 + VS2017 + Qt5,Release+Debug)_第11张图片
(3). 然后在VS2017中将解决方案配置由Debug修改为Release,重复以上生成与Install过程:
在这里插入图片描述
VTK8.2.0编译安装与测试用例运行(win10 + VS2017 + Qt5,Release+Debug)_第12张图片
VTK8.2.0编译安装与测试用例运行(win10 + VS2017 + Qt5,Release+Debug)_第13张图片
Install成功后,在VTK安装目录下(D:/VTK-8.2.0/VTK-install),看到所生成的lib文件有2种,带后缀"_d"与不带的。
VTK8.2.0编译安装与测试用例运行(win10 + VS2017 + Qt5,Release+Debug)_第14张图片
至此,VTK的Debug与Release模式的编译安装就已经完成了。

4. 测试

成功安装VTK后,我们需要测试一下VTK的安装是否正确,测试方法是运行一些官方提供的样例,这些样例也是VTK学习入门的好材料。

(1). Build examples

如果之前在cmake中选择了BUILD_EXAMPLES,那么在VS2017打开的VTK.sln解决方案中,就可以看到一些测试用的样例项目:
VTK8.2.0编译安装与测试用例运行(win10 + VS2017 + Qt5,Release+Debug)_第15张图片
随便选择一个项目(我选择的是Cube项目),右键项目名称,点击设为启动项目
VTK8.2.0编译安装与测试用例运行(win10 + VS2017 + Qt5,Release+Debug)_第16张图片
在解决方案配置为Release或者Debug下,按下ctrl+F5,都可以成功运行样例,生成以下立方体(立方体可用鼠标进行缩放与旋转):
VTK8.2.0编译安装与测试用例运行(win10 + VS2017 + Qt5,Release+Debug)_第17张图片

(2). Source code examples

在下载的VTK8.2.0源码中,也有Examples:
VTK8.2.0编译安装与测试用例运行(win10 + VS2017 + Qt5,Release+Debug)_第18张图片
我们可以选择一个GUI的Qt样例进行测试,我选择的是D:/VTK-8.2.0/VTK-source/Examples/GUI/Qt/FourPaneViewer。源码样例只提供了源代码与cmake文件,我们需要先用cmake编译,然后再用VS2017运行。

(a). 重新打开cmake,选择"source code"目录为D:/VTK-8.2.0/VTK-source/Examples/GUI/Qt/FourPaneViewer,"build"目录我设置为该目录下的build文件夹(没有的话cmake会新建一个),这里可以把Advanced选项去掉。
在这里插入图片描述
(b). 点击Configure,仍然选择generator为Visual Studio 15 2017 Win64,再点击Finish
VTK8.2.0编译安装与测试用例运行(win10 + VS2017 + Qt5,Release+Debug)_第19张图片
同样会出现一些红色的变量:
VTK8.2.0编译安装与测试用例运行(win10 + VS2017 + Qt5,Release+Debug)_第20张图片
(c ). 请确保Qt的路径是正确的,确保VTK_DIR路径下有VTKConfig.cmake文件,项目就是通过读取VTKConfig.cmake文件来获取VTK的相关配置的,CMAKE_INSTALL_PREFIX路径这里可以不用管。确认完毕后,再次点击Configure,没有红色的变量后,点击Generate
VTK8.2.0编译安装与测试用例运行(win10 + VS2017 + Qt5,Release+Debug)_第21张图片
(d). 这里我们可以直接点击Open Project,用VS2017打开项目。打开项目后,选择解决方案配置为Release或者Debug,然后右键QtVTKRenderWindows设置为启动项:
VTK8.2.0编译安装与测试用例运行(win10 + VS2017 + Qt5,Release+Debug)_第22张图片
再按ctrl+F5,成功生成以下程序:
VTK8.2.0编译安装与测试用例运行(win10 + VS2017 + Qt5,Release+Debug)_第23张图片
至此,支持Qt5的VTK8.2.0就已经全部编译安装成功了!

你可能感兴趣的:(VTK8.2.0编译安装与测试用例运行(win10 + VS2017 + Qt5,Release+Debug))