官方编译:以Linux为主,也有Window的处理方式,可以参考
讲述Windows环境下如何进行处理:
前期准备:
-
VTK.ZIP(建议下载最新版,否则会出错(也可按照需要自行选择))
-
CMake
-
Visualstudio
(版本无要求,我下载的是2022)
中期流程:
前提条件:已经将VTK.zip,Cmake,VisualStudio安装解压完毕
建立两个文件夹VTK-9.2.2-Build(存储Cmake建立内容),VTK-9.2.2-Install(存储编译后的VTK安装内容)
![](https://img-blog.csdnimg.cn/33b31f53b8b940c1aeb352b446f7cfba.png)
进入CMake,进行对应填写
![](https://img-blog.csdnimg.cn/6b53e32bf8ce4f1897de83dace1f27ce.png)
点击Configure,选择要使用的Visual Studio版本,可自行选择其他版本(对应下载版本即可)
![](https://img-blog.csdnimg.cn/4ea46a056c8f4dafba1a64e8269097ae.png)
第一次Configure后会出现一个配置界面,找到CMAKE_INSTALL_PREFIX选项,将它的值改为我们刚才新建的install文件夹的路径(必要步骤,方便为自己的项目添加vtk环境)
![](https://img-blog.csdnimg.cn/0509a88b67a84f268c91de2e4015d6a3.png)
之后再次点击Configure,输出区域显示Configuring done之后,点击Generate,Generate完成后,再点击Open Project
打开项目,并且寻找All_BUILD==>右键生成,等待编译完成,再去寻找INSTALL==>右键生成,等待编译完成.(无报错则证明编译通过)
![](https://img-blog.csdnimg.cn/89fbb799afdf4777b1a6a846a9360439.png)
后期流程:
创建一个VTK项目
![](https://img-blog.csdnimg.cn/a82bb2c6cae1430fbc5cb49948d5545d.png)
之后名字之类的东西自行命名;
创建项目下,建立.cpp
![](https://img-blog.csdnimg.cn/c27f22eaa47942a797486fd3d1415935.png)
对项目属性进行环境设置(重要):
在之前CMake中我们所选择的VTK编译完成安装目录会出现这样的目录结构
![](https://img-blog.csdnimg.cn/9eaed9746d5e415a8ac3b197d572b5ef.png)
右键项目,寻找 属性(R):
根据图片内容红框,对应填写本机所对应的目录地址:
![](https://img-blog.csdnimg.cn/c946d46ce8a940a99b2be4183272320b.png)
PATH=%PATH%;D:\Project\VTK-9.2.2-Install\bin
![](https://img-blog.csdnimg.cn/b7db3fbf81874567b223f40bcbbe7a15.png)
![](https://img-blog.csdnimg.cn/4db10c626a4348cfbcde9fad162a8425.png)
![](https://img-blog.csdnimg.cn/fa7da8b6ec6b46fa9bc4a422de78422b.png)
配置附加依赖项,将install文件夹 中 lib文件夹内的所有lib文件的文件名填入。
![](https://img-blog.csdnimg.cn/ded795f2d706403eb9178a4c21f4734b.png)
可利用cmd快速获取lib文件的文件名,打开cmd,进入install的lib文件夹内。
输入 DIR *.lib*/B>LIST.TXT 然后回车,lib文件夹内就会出现一个LIST.TXT的文件,将LIST.TXT中内容放入附加依赖项中即可。(切记不可将默认的一些依赖覆盖掉)
![](https://img-blog.csdnimg.cn/1a11abbd44bb4a5c8143b7dc21462b49.png)
![](https://img-blog.csdnimg.cn/0a6f033dc5ca47b69fca9943abe90d6a.png)
官方C++例子,也有其它语言的实例,可以参考
//在每个例子下面需要添加,这一段宏阻塞,否则加载不出图像
#include <vtkAutoInit.h>
VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle); ///