本文所用软件版本:
- Visual Studio 2017 Community
- CMake 3.11.1
- VTK 8.1.0
1. 编译环境准备
安装Visual Studio 2017 Community,注意安装时勾选C++相关选项。
在CMake官网(https://cmake.org/files/v3.11/)下载对应版本CMake。这里我们选择安装版或解压版都可以。
2. VTK源码编译
在VTK官网 (http://www.vtk.org/) 下载VTK源码,这里下载8.1.0版本源码文件“VTK-8.1.0.tar.gz”。
将下载的源码压缩包解压得到源码文件夹“VTK-8.1.0“,并新建文件夹”VTK-8.1.0-build”用于存放编译后的文件。
打开CMake-gui,将源码目录及编译目录分别填入CMake软件上方的源码及构建路径中。
点击Configure,第一次编译会提示选择编译器,这里我们选择前面安装的VS2017(Visual Studio 15 2017)。
点击“Finish”之后,在build目录下会生成配置文件。
Configure完成后,点击Generate生成配置文件,看到输出框输出“Configure done”及“Generate done”后,点击“Open Project”打开VS。
打开VS后,可以在解决方案资源管理器里看到很多工程项目,这些都是VTK中的模块,每个模块都是一个单独的项目(包括Examples)。
选择上方的编译类型(“Debug“或”Release“)及平台(win32或x64),这里选择Release+x64,然后开始编译解决方案,等待编译完成即可。
3. 部分编译选项
在CMake的配置列表中,有一些编译选项可供编译不同的功能及模块。以下列举一些常用的选项。
- BUILD_SHARED_LIBS:若勾上该项,则VTK会编译生成DLL动态链接库(或共享库),若不勾选,则编译生成静态链接库。默认为不勾选;
- BUILD_TESTING:用于编译VTK中的测试用例,也可作为例子学习;
- BUILD_EXAMPLES:编译VTK源码中的例子;
- VTK_WRAP_TCL:决定是否编译TCL的封装特性;
- VTK_WRAP_PYTHON:同上;
- VTK_WRAP_JAVA:同上;