02-VTK编译安装

2、VTK编译安装

学习VTK最好是从下载VTK源码,然后自己编译开始。编译VTK是很简单的一件事情,最重要的是把准备工作做好。本章将会详细演示如何编译安装VTK。

这里提到的VTK开发环境为:Windows 7旗舰版64位操作系统,Visual Studio 2008集成开发环境,CMake 2.8.6,Qt 4.8.2以及VTK 5.10 Release版本。后续所有的程序示例代码都是在这个环境下测试通过的。

2.1        编译VTK的准备工作

首先,你的计算机必须安装了VisualStudio 2008。如果采用其他集成开发环境(IDE)的,也必须先安装对应的IDE工具。编译64位版本的VTK之前,在安装Visual Studio 2008的时候,需要安装相应的64位组件。

其次,安装CMake。CMake下载地址:http://www.cmake.org/cmake/resources/software.html。Windows平台下只要下载文件cmake-2.8.6-win32-x86.exe即可。安装完CMake以后,运行界面如图2.1所示。


图2.1CMake界面

如果你在这之前没有听说过CMake,也不知道CMake如何使用,先不要着急。假如你实在比较急的话,可以先去Google或者百度一下CMake到底是个什么东西。

接着,如果你想自己编译VTK类库的帮助文档的话,还需要安装Doxygen工具。这一步不是必须的

此外,如果你想使用Tcl、Python或者Java等语言开发的话,相应的工具也必须先安装。相关的文件可以从以下页面下载到:Tcl/Tk下载地址:http://www.tcl.tk/software/tcltk/;Python下载地址:http://www.python.org/;Java下载地址:http://www.java.com/

最后,确定你想使用哪种工具作为界面开发,比如MFC、Qt、FLTK等等。以这个系列教程为例,采用Qt作为GUI(用户图形界面)开发工具,那么在安装VTK之前还必须安装Qt,Windows平台下的Qt Opensource编译版本可以从以下页面下载(http://qt-project.org/downloads/http://code.google.com/p/qt-msvc-installer/downloads/list)。

换言之,如果你想使用C++作为开发语言,采用Qt作为GUI开发工具,但不想编译VTK的帮助文档(因为已经有现成的,编译帮助文档的时间也会比较长),那么在编译VTK之前,只要安装VisualStudio 2008、CMake和Qt即可

2.2        编译VTK的详细步骤

将下载到的VTK源码文件vtk-5.10.0.zip解压到某个磁盘下,比如,解压到D:\Toolkits\VTK\VTK-5.10。然后,建立一个空的文件夹,叫什么名字无所谓,只要不含有中文即可(为了让文件名看起来规整统一,新建的文件夹命名为VTK-5.10-bin,完整的路径为:D:\Toolkits\VTK\VTK-5.10-bin)。接着解压下载的vtkdata-5.10.0.zip文件,比如解压到:D:\Toolkits\VTK\VTKData (如果你没有下载vtkdata-5.10.0.zip文件,这一步也可以跳过)。

然后,打开CMake(界面如图2.1所示),在CMake界面上的“Where is the source code”文本框里输入前一步解压vtk-5.10.0.zip之后的路径,即D:\Toolkits\VTK\VTK-5.10。也就是这个文本框应该输入VTK源码目录里最外层的CMakeLists.txt文件所在的路径。接着,在“Where to build the binaries”文本框里输入前一步新建的空文件夹的路径,即D:\Toolkits\VTK\VTK-5.10-bin,这个文本框所输的路径可以跟“Where is the source code”的一样,分开两个不同的路径的好处是后续编译过程生成的文件不会跟VTK的源码混合在一起,避免对源码目录的“污染”,这也是后续内容介绍的CMake的“in-place”和“out-of-place”的区别。

以上两个文本框输入完之后,按“Configure”按钮,会弹出如图2.2所示的对话框,根据你自己的需要以及你计算机已经安装的IDE、编译器等选择适当的选项即可,比如,使用Visual Studio 2008,准备编译64位的VTK,则可以选择“Visual Studio 9 2008 Win64”选项(如果选择错误,要重新选择IDE选项的话,停止CMake的配置或者生成过程,点击CMake的File菜单下的Delete Cache之后,再重新用CMake配置VTK的时候就会重新弹出图2.2的对话框),然后确定,CMake即开始根据具体的平台环境配置VTK工程(配置时间会因硬件配置的不同而不同,一般需要几分钟时间)。

 

图2.2CMake选择编译环境的对话框

 

配置完成后,CMake界面如图2.3所示。


图2.3首次配置完VTK后的界面

关于VTK的一些CMake配置选项的说明:

BUILD_EXAMPLES —默认是关闭的,如果打开这个选项,则会编译VTK例子,同时VTK编译所需的时间也较长,占用的磁盘空间也较大。对于初学者来说,建议把这个选项打开。

BUILD_SHARED_LIBS —默认是关闭的,意味着VTK是静态编译;如果打开这个选项,则是动态编译。

“静态编译”与“动态编译”的区别:静态编译就是在编译的时候把所有的模块都编译进可执行文件(exe)里去,当启动这个可执行文件时所有的模块都已加载进来。动态编译则是编译的时候需要的模块都没有编译进去,一般情况下可以把这些模块都编译成动态链接库DLL,启动程序(初始化)的时候这些模块不会被加载,运行的时候用到那个模块就调用哪个DLL文件。静态链接库编译相当于你带着一个工具包到处跑,遇到有需要的地方不需要周围的环境提供相应的工具,自己用自己工具包的工具就行了,所以当环境发生变化可以尽可能的无视;动态链接库编译相当于不带任何东西,走到哪是哪。这两者的区别显然就是前者重量增加了,即程序的体积会比后者的大。

所以,究竟是用“静态编译”还是“动态编译”,关键看自己的需要。对于VTK初学者而言,所涉及到的工程可能都比较小,建议用“静态编译”,也方便把VTK程序移植到其他没有安装VTK的计算机上运行。本书的VTK类库是采用静态编译。

BUILD_TESTING —默认是打开的,表示会编译VTK的测试程

  • 28
    点赞
  • 85
    收藏
    觉得还不错? 一键收藏
  • 58
    评论
在Ubuntu中编译VTK并支持Python的过程如下: 1. 首先,更新系统并安装必要的依赖库: ``` sudo apt-get update sudo apt-get install build-essential cmake python-dev python-numpy libtiff-dev libjpeg-dev zlib1g-dev libpng-dev libxt-dev libgl1-mesa-dev libglu1-mesa-dev libssl-dev libexpat1-dev libxml2-dev ``` 2. 下载VTK源代码: ``` wget https://vtk.org/files/release/9.0/VTK-9.0.1.tar.gz tar -zxvf VTK-9.0.1.tar.gz ``` 3. 创建一个build目录,进入该目录,并使用cmake进行配置: ``` mkdir VTK-9.0.1/build cd VTK-9.0.1/build cmake -DVTK_WRAP_PYTHON=ON -DPYTHON_EXECUTABLE=/usr/bin/python3 -DPYTHON_INCLUDE_DIR=/usr/include/python3.8 -DPYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.8.so .. ``` 4. 编译VTK: ``` make -j4 ``` 5. 安装VTK: ``` sudo make install ``` 6. 配置LD_LIBRARY_PATH环境变量: ``` export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH ``` 7. 测试Python绑定是否成功: ``` python3 >>> import vtk ``` 以上是在Ubuntu中编译VTK并支持Python的步骤。请注意,具体的路径和版本号可能会有所不同,根据实际情况进行相应的修改。 #### 引用[.reference_title] - *1* *2* *3* [ubuntu下编译安装VTK8.1.2](https://blog.csdn.net/l550802356/article/details/131021226)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 58
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值