一、 VTK开发环境
Windows7操作系统、Visual Studio 2008集成开发环境或者Visual Studio 2010集成开发环境。CMake 3.0.0,Qt 4.8.6以及VTK 5.10 Release版本。
VS开发环境08、10都可以。CMake选择2.8.6或者CMake 3.0.0不会出现版本不兼容。VTK6.0版本以上必须配备QT5.0以上版本。比较建议使用VTK6.0以下版本,VTK6.0会有较大改动,网上很多例程不能跑,对学习VTK造成一些不便。
QT官网下载地址: http://qt-project.org/downloads
Cmake下载地址:http://www.cmake.org/cmake/resources/software.html
VTK官网下载地址:http://www.vtk.org/VTK/resources/software.html
下载VTK source Files用于编译和安装。VTK Date files是运行VTK的例程所需要的数据。如果要运行例程一定要解压VTK Date files。
下载所有软件均有根据自己机器的开发环境进行正确选择,不可。
二、VTK编译安装步骤
1、将下载的VTK源码VTK-5.10.1解压到某个磁盘下、然后建立一个空文件,命名为VTK-5.10.1-bin,命名不能含有中文。此文件夹用于cmake后存放地点。(也可以在cmake的时候创建存储文件夹)。
2、打开cmake界面、界面如下所示
图2-1
在CMake界面上的“Whereis the source code”文本框里输入前一步解压vtk-5.10.0.zip之后的路径。此路径必须到目录里最外层的CMakeLists.txt文件所在的路径。接着,在“Where to build the binaries”文本框里输入前一步新建的空文件夹的路径,即 VTK-5.10-bin的路径,之所以分开建是避免cmake后污染原本的souce文件。以上地址输完后,按configue按钮会弹出VTK编译环境选择对话框。如下所示:
图2-2
根据自己的开发环境进行选择,我的开发环境是VS2010,因此我选择Visual Studio 10 2010。VTK configure过程需要几分钟,针对不同的开发环境可能会报错,处理错误会是一个比较纠结的过程。后面我会总结一些常见错误及处理办法。
配置完成后,CMake界面如图2.3所示
图2-3
关于VTK的一些CMake配置选项的说明:
BUILD_EXAMPLES —默认是关闭的,如果打开这个选项,则会编译VTK例子,同时VTK编译所需的时间也较长,占用的磁盘空间也较大。对于初学者来说,建议把这个选项打开。
BUILD_SHARED_LIBS —默认是关闭的,意味着VTK是静态编译;如果打开这个选项,则是动态编译。我建议是关闭,随便每次编译时间会长点,但便于移植。
“静态编译”与“动态编译”的区别:静态编译就是在编译的时候把所有的模块都编译进可执行文件(exe)里去,当启动这个可执行文件时所有的模块都已加载进来。动态编译则是编译的时候需要的模块都没有编译进去,一般情况下可以把这些模块都编译成动态链接库DLL,启动程序(初始化)的时候这些模块不会被加载,运行的时候用到那个模块就调用哪个DLL文件。静态链接库编译相当于你带着一个工具包到处跑,遇到有需要的地方不需要周围的环境提供相应的工具,自己用自己工具包的工具就行了,所以当环境发生变化可以尽可能的无视;动态链接库编译相当于不带任何东西,走到哪是哪。这两者的区别显然就是前者重量增加了,即程序的体积会比后者的大。
所以,究竟是用“静态编译”还是“动态编译”,关键看自己的需要。对于VTK初学者而言,所涉及到的工程可能都比较小,建议用“静态编译”,也方便把VTK程序移植到其他没有安装VTK的计算机上运行。本书的VTK类库是采用静态编译。
BUILD_TESTING —默认是打开的,表示会编译VTK的测试程序。VTK里每个类都有对应的程序文件对该类进行测试,对于初学者而言,可以关闭掉这个选项,后续如有需要,可以再打开此选项。
VTK_DATA_ROOT —指向VTKData所在的路径,即第1章里下载的文件vtkdata-5.10.0.zip解压后的路径。一般情况下,VTK能够自动搜索到,如果没有搜索到可以手动输入,在运行VTK的例子时需要用到这些数据。
CMAKE_INSTALL_PREFIX —这个选项表示VTK的安装路径,默认的路径是:C:/Program Files/VTK。该选项的值可不作更改,按默认值即可。
VTK_USE_QT —是否使用Qt。在这个系列里,我们使用Qt作为GUI开发工具,所以勾上该选项。
VTK_WRAP_JAVA、VTK_WRAP_PYTHON、VTK_WRAP_TCL —这三个选项是供准备使用Java、Python或者Tcl语言开发VTK工程的用户选择的。VTK由两个子系统组成,分别是C++类库和提供给Java、Tcl和Python来操作该类库的解释器工具,如果勾上以上三个选项,即会编译这些解释器工具。
勾选图2.3的“Advance”复选框,可以在CMake界面上看到更多的选项,各选项分别表示什么意思,可以把鼠标在该选项名字停留片刻,即会弹出关于该选项的提示信息。另外“Advance”视图下以下几个选项需要说明一下:
BUILD_DOCUMENTATION —默认是关闭的,如果打开这个选项,则会编译VTK帮助文档,由于这个文档VTK已提供下载,所以可以不选。
VTK_USE_GUISUPPORT — VTK是否支持GUI,Windows下如果需要使用MFC开发的,需要勾选上这个选项。本教程在演示的时候也会把这个选项勾选,如果你确定不使用MFC,可以不用选择该选项。
继续按“Configure”按钮,直到没有红色的选项出现,然后按“Generate”按钮,开始生成VTK工程文件。这一步完成以后,打开在“Where to build thebinaries”里输入的路径。可以看到如下:
图2-4
接着双击该目录下的VTK.sln文件,打开VTK工程,对VTK进行编译,此过程的时间会比较长。如果你还想把VTK相关的头文件、lib文件等提取出来,以便用于其他项目的开发,可以编译Solution下的“INSTALL”工程,右击该工程,选择菜单:“Project Only” -> “Build Only INSTALL”,VTK里所有的头文件以及相关的库文件等,即会被提取到你在CMAKE_INSTALL_PREFIX里指定的路径里,默认的路径是:C:/ProgramFiles/VTK。
三、测试是否成功安装VTK
为了测试是否成功安装VTK,我们需要建立一个简单的VTK工程。然后用同样的方法对此简单的VTK工程进行编译。
Cmakelists:
cmake_minimum_required(VERSION2.8.8 FATAL_ERROR)//Cmake版本号project(TestVTKInstall)//此括号是项目名字
find_package(VTKREQUIRED)//这里不用修改
include(${VTK_USE_FILE})//这里不用修改
add_executable(${PROJECT_NAME}TestVTKInstall.cpp)//c++文件的名字
target_link_libraries(${PROJECT_NAME}vtkRendering vtkCommon//这里是所需要库的名字
c++文件
#include "vtkRenderer.h"
#include"vtkRenderWindow.h"
#include"vtkSmartPointer.h"
int main()
{
vtkSmartPointer
renWin->Render();
std::cin.get();
return 0;
}
测试结果:
图3-1
得到以上结果表示VTK已经编译安装成功。
vtk测试代码的下载地址:http://download.csdn.net/my