005-《VTK用户指南》--第一部分-VTK简介--第2章-安装--(1)基础概念

本章介绍在您的计算机系统上安装VTK所需的步骤。
该过程的总体难度受多个因素影响。
在Microsoft Windows上,您可以安装预构建的vtk.exe,并通过运行TCL脚本使用它。
若要在Python或Java编程语言中使用VTK,
为了将VTK库链接到您自己的应用程序中,必须从源代码编译VTK。
在Microsoft Windows以外的任何平台上使用VTK,也必须从源代码构建VTK。
(不同的平台环境太多了——维护和发布所有平台上的、最新的二进制发布版本需要大量的工作。
因此,我们专注于使VTK易于在各种不同的平台上进行构建,而不是提供每个平台上的二进制发布版本。)
如果您正在编译VTK源代码并构建自己的库,
预计在较快的、多核处理器系统上需要约一个半小时的构建时间,
而在较慢的、内存有限的系统上则可能需要几个小时的构建时间。
另外,构建的时间还取决于您希望将VTK C++核心代码封装到多少种不同的解释型语言中,以及您的系统配置。
您可能需要参考“系统体系结构”,以便对VTK架构有个大概的了解。
这可能会对您顺利完成整个编译过程有一定的帮助。
另外,如果遇到麻烦,可以联系VTK用户邮件列表以获取帮助(请参阅第6页的“其他资源”)。

概述

VTK可以在许多不同的计算机平台上编译并运行。
这里的“平台”是指:操作系统、硬件配置和编译器等各种环境资源的组合。
因为这些可能的组合大多了,所以维护所有平台上的二进制发布版本几乎是不可行的。
因此,要安装VTK,您必须编译并链接源代码以生成库和可执行文件。
只有当您“使用的是TCL解释语言,并且创建VTK应用程序是运行在Windows操作系统下”时,
才有可能避免从源码编译VTK库和可执行文件的过程。
这种情况下可以直接使用为Windows平台预编译的二进制文件。
否则,您将必须从源代码中编译适用于TCL和Python的VTK可执行文件。

本章首先简要介绍了跨平台构建工具CMake。
CMake用于在所有操作系统上配置构建环境。
接下来,根据您要安装VTK的操作系统类型,
本章分的后续内容分为两个部分:Windows和Unix(MacOS和Linux,请按照Unix安装VTK)。
您只需要阅读与您所使用的操作系统对应的安装指南部分即可。
VTK不支持Windows 3.1及以前的版本,也不支持在Mac OS 10.2(Jaguar)或更早的版本。

CMake

CMake是用于配置和管理构建过程的开源,跨平台构建工具。
它采用简单的、平台无关的文本文件(CMakelists.txt)描述构建过程,以及项目间的依赖关系。
使用CMake进行构建的过程中,它会先生成适于于您的构建环境(特定编译器和特定操作系统)的原生构建管理文件。
例如,在带有Microsoft Visual Studio的Windows操作系统上,CMake会创建解决方案文件和一系列的项目文件。
在UNIX上,CMake会创建一系列的Makefile文件。
这样一来,您可以基于同一套源代码文件,轻松地在任何计算机上编译VTK,
并使用平台原生开发工具(编辑器,调试器,分析器,编译器等)进行开发工作。
(您可以从从cmake.org网站中了解有关cmake的更多信息。Kitware还出版了一本书名为《掌握CMake》的书,可供参考。)
可以从http://www.cmake.org网站下载最新的CMake版本。

运行CMake需要三个基本信息:
要使用哪种编译器,源代码目录(即源代码树)在哪,
以及哪个目录(即构建树)可以放置编译过程中的中间对象文件、编译生成的库和二进制文件。
CMake将读取在源代码树中发现的最顶层CMakelists.txt文件,
并在构建树中产生一个缓存文件(cmakecache.txt)。
请注意,CMake可以很好地处理复杂的源代码目录结构——源代码树的每个子目录中都有一个CMakelists.txt文件。

准备好这些基本信息后,用户可以执行配置步骤。
这会导致CMake读取顶级CMakelists.txt文件,
确定系统配置,定位系统资源并依次处理各个子目录中的代码。
在CMake运行过程中,它会不断发现用于控制构建过程的CMake变量和标志(CMake缓存条目)。
配置过程结束后,这些变量和标志将呈现给用户。
如果用户希望更改这些变量和标志的缓存值,则CMake提供了一个简单的GUI来进行修改。
更改后,GUI程序会自动再执行一次配置过程。
这种迭代配置的过程一直持续到不需要其他更改为止。
之后,用户需要调用生成步骤。
生成步骤中产生用于控制指定编译器的构建过程的解决方案文件、项目文件或Makefile文件。

在以下两个部分(Windows和Unix)中,提供了在两个平台上运行CMake的特定说明。
请注意,上述的一般说明适用于所有系统。
尽管从CMake2.6之后,CMake-GUI采用了新的、基于Qt的用户界面,在不同平台上差异很小,
但您仍然可能发现不同平台上的CMake用户界面可能会略有差异。
另外,如果可能的话,请尽量安装预编译好的CMake二进制文件,而不是通过源代码构建CMake。

你可能感兴趣的:(VTK系统学习,c++)