VTK的安装至集成至VS中
以下是从官网下载vtk源码至集成至VS的过程
1、VTK源码直接从VTK的官方网站(http://www.vtk.org/download/)上下载到,此博客中下载的是vtk-5.10.1.zip和vtkdata-5.10.1.zip两个压缩包。其中vtk-5.10.1.zip是VTK的源码,vtkdata-5.10.1.zip是VTK使用中的数据文件,这个文件也可以不用下载。
2、新建三个目录。将vtk-5.10.1.zip中的文件解压到VTKSrc文件夹,vtkdata-5.10.1.zip中的文件解压到VTKData文件夹。VTKBin文件夹用来放CMake产生的工程文件和编译后的文件。
CMake安装是用来对VTK编译前的配置工作。CMake的下载可到https://cmake.org/网站上进行下载。
3、用cmake配置项目
打开CMake,输入源码和输出文件路径,然后进行配置。设置以下几个配置项:
11、BUILD_EXAMPLES 该选项位于BUILD分组中。该选项表示是否编译VTK中的例程。不勾选状态下 时可以缩短编译的时间,需要学习VTK中自带例程的可以选择该项。这里不选择该项。
22、BUILD_SHARED_LIBS 同样位于BUILD分组中。选中代表编译生成DLL文件,也就是生成动态链接库,不选中时编译成静态库。
33、BUILD_TESTING 处于BUILD分组。选中代表编译测试代码。此处不选中,为了缩短编译时间。
44、CMAKE_INSTALL_PREFIX 处于CMAKE分组中,指向VTK的生成路径,这里使用其默认路径 C:\Program Files (x86)\VTK。
55、VTK_DATA_ROOT 处于VTK分组中,VTKData.zip解压的路径,这里可以手动修改到D:\Program Files\VTKData。
66、VTK_USE_GUISUPPORT 处于VTK分组中,表示是否支持GUI。为了后续使用MFC界面,这里勾选该选项。
需要注意的是,在点击Config之后会出现VTK_USE_MFC选项,需要勾该选项再次进行Config。
Config之后没有红色标记的时候就可以进行Generate了。
4、在VS2012中编译项目
如果前面的步骤没有问题,在VTKBin目录下就会生成以下文件:
打开VTK.sln工程文件,然后打开“生成” -> “生成解决方案”。这时候项目就开始编译了,编译的时间依据电脑的性能而定。
编译完成之后,我们之前选择的VTK生成目录下生成我们需要的lib文件,头文件,dll文件等等。由于默认情况下生成文件的目录是在C:\Program Files (x86)\VTK。可以到该目录下检查是否有我们想要的文件产生。后续我们需要用到的就是这三个文件夹下的内容了。
5、测试VTK编译结果
在编译完成之后,建立一个空工程(empty project)来测试安装编译结果。
打开vs2012,新建一个空工程。创建完成之后,向项目中添加一个cpp文件。随后配置我们的项目。
11、
分别在Include Directories加入.h文件的路径和Library Directories加入lib的所在目录
22、
在Additional Dependencies添加所依赖的lib库,如(一部分)
vtkalglib-6.0.lib
vtkChartsCore-6.0.lib
vtkCommonColor-6.0.lib
vtkCommonDataModel-6.0.lib
vtkCommonMath-6.0.lib
33、这时候再去编译程序发现没有错误了,但是运行程序的时候会跳出没有安装必要的dll文件。这是程序无法找到运行时的动态链接库导致的。解决方法:
添加dll所在目录(bin)为系统环境变量。
至此,便可以在自己的工程中应用vtk库函数了。
ps:1、因为我的工程是RelWithDebInfo,X64,所以编译vtk的时候也要编译对应版本的,如编译debug或win32的将不可用。
2、对于VS的配置,也可以编写CMakeLists.txt完成,效果相同。
CMake有自己的语言和语法,用CMake对工程进行管理的过程,就是编写CMakeLists.txt脚本文件的过程,原则上要求工程里的每一个目录都包含一个同名的文件,而且这个文件的名字只能是:CMakeLists.txt。假如写成cmakelists.txt,由于Windows不区别文件名大小写,所以可以通过;但如果在别的平台,如Ubuntu,用CMake构建工程时就会提示找不到CMakeLists.txt,所以建议,不管在哪个平台下,都使用CMakeLists.txt这个文件名,注意大小写。