VTK与ITK在VS(2008,2012)下的安装

本文详细介绍了在Windows环境下,使用VS2008和VS2012安装配置VTK与ITK的步骤,包括CMake的使用、QT和VTK的结合、VTK与ITK的链接以及错误处理。文章强调了安装顺序,模块选择,配置选项,以及库文件的添加。最后,通过简单的示例测试了VTK和ITK的安装是否成功。
摘要由CSDN通过智能技术生成

一律选择32Bit,先装VTK,后装ITK(方便ITK和VTK连接,ITK选项卡中Advanced下面的Module_ITKVtkGlue 必须选择,才能和VTK连接)

QT5选择qt-opensource-windows-x86-msvc2012_64_opengl-5.2.1;qt-vs-addin-1.2.2-opensource   VS2012选64BIT



注意:要release就都release,要debug就都debug。(QT和VTK连接的lib必须release,建议先releasedebug),可以release和debug都编译一遍,把CMAKE_INSTALL_PREFIX所对应的文件夹下的文件保存分别新建release和debug文件夹下保存,如果不想保存,直接在ITK.sln(VTK.sln)文件中直接找到INSTALL对应的,仅重新生成INSTALL即可,不必重新编译ALL_BUILD



第一章VTK与ITK的安装与测试

1.1获取安装资源

(1)CMake安装资源

CMake 是个跨平台的自动化建构软件,用于对于VTK、ITK的编译,可以在http://www.cmake.org/cmake/resources/software.html上下载用于Windows安装的cmake-2.8.3-win32-x86.exe版本。

(2)VTK安装资源

VTK可以从官网http://www.vtk.org/VTK/resources/software.html上下载版本为vtk-5.6.1-win32.exe(用于Windows的安装) 、vtkdata-5.6.1.zip、vtk-5.6.1.zip的安装资源。

(3)ITK安装资源

ITK可以从官网http://www.itk.org/ITK/resources/software.html上下载版本为InsightToolkit-3.20.0.zip、InsightApplications-3.20.0.zip资源。

注:上述的安装都是基于Windows XP系统,Visual Studio 2008开发平台,其它操作系统上的安装下述步骤可能会出现问题!此外,提醒大家如果要将上述所有软件全部安装在一个盘符下面,那么可能需要30G的空间。因为安装耗时长,所以请大家提前合理分配您的空间。


1.2安装步骤
安装、配置过程中,路径的设置非常重要,为了方便用户的顺利安装,本人将主要相关软件安装在同一总目录(同Visual studio 2008目录相同相同)的结构列了出来,如下图1-1所示:且下面的安装过程,我们将以此目录为参照。

 



1.2.1 VTK的安装 

系统win7 64位,已装vs2012,所有软件安装及打开都用管理员身份

下面详细介绍QT和VTK结合开发的环境配置步骤

1.      下载软件版本及地址

①      qt的安装文件qt-opensource-windows-x86-msvc2012_opengl-5.3.2.exe

http://download.qt-project.org/archive/qt/5.3/5.3.2/

②      qt的vs2012插件qt-vs-addin-1.2.3-opensource.exe

http://qt-project.org/downloads

③      cmake-2.8.12.2-win32-x86.rar

http://download.csdn.net/detail/dedje/8276415

④      VTK-6.1.0.zip

http://www.vtk.org/files/release/6.1/VTK-6.1.0.zip

⑤      VTKData-6.1.0.zip

http://www.vtk.org/files/release/6.1/VTKData-6.1.0.zip

 

2.      安装qt

分别执行上面的①②后,添加系统路径。

变量名:PATH

变量值:D:\Qt\Qt5.3.2\5.3\msvc2012_opengl\bin

(qt安装在D:\Qt\Qt5.3.2目录,qt插件安装在D:\Qt目录)



打开VS2012,选择菜单->qt5->qtoptions->qt versions->add,在path中填入qmake.exe的上级目录,(我的qmake.exe在D:\Qt\Qt5.3.2\5.3\msvc2012_opengl\bin,所以填入的目录是D:\Qt\Qt5.3.2\5.3\msvc2012_opengl)。

至此你就可以在VS2012中创建qt项目了。

下面开始配置VTK。

3.      把④⑤解压到D:\VTK6下,④改名为VTKSource,⑤改名为VTKData

解压③后安装cmake,我的安装路径是在D:\VTK6\CMake2.8

(1)      打开cmake-gui.exe

在sourcecode和build里面分别填上刚才的源文件及要放在编译文件的路径。点击Configure,选择visualstudio 11,(虽然是64位系统,但是有教程建议不要选visual studio11 win64,我没有试过选了会怎么样)。



等待配置完成后,会有错误发生,需要做如下修改:

build_shared_libs

点击addentry,添加qt的安装路径



vtk_group_qt勾选

再次点击configure,完成后再做如下修改

vtk_qt_version改成5,确认QT_QMAKE_EXECUTABLE为你的qmake.exe的地址,再次configure,没有错误后点击Generate,生成项目文件。

 

Qt5Gui_glu32_LIBRAYRY错误解决

,点击cmake界面坐上角的“AddEntry”按钮,添加CMAKE_PREFIX_PATH选项(TYPE选择PATH

C:\ProgramFiles\Microsoft SDKs\Windows\v6.0A\Lib\x64和前文QT路径之间加;隔开

(每次CMAKE都要重复一次)

 

或者(推荐,WindowsKits比MicrosoftSDKs框架更新,更好支持QT):


C:/Qt/Qt5.2.1/5.2.1/msvc2012_64_opengl/lib/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake  
set(CMAKE_LIBRARY_PATH "C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64")  

注意 要安装Microsoft SDKS或者Windows Kits

Windows Kits对应C:\Program Files (x86)\Windows Kits\8.0\Lib\win8\um\x64(建议)


还有要注意的就是:
vtk_data_store: 目的是告诉cmakevtk需要的数据都在哪里,我们的数据在

注意路径,文件夹的范围:D:/VTK/VTKData-6.2.0/VTK-6.2.0/.ExternalData
cmake_install_prefix: 这个是指定一个目录把.h.lib .dll等精华放在这里,"VTK安装三步曲"里说是为将来装vtk做准备,

 build_examples: 就是询问是否编译vtk 中的例子,你在看这个教程,说明肯定是初次用VTK,建议选上。
build_shared_libs:
如果设置为off,就只会生成lib文件,用于开发肯定是够了。如果设置为on,将会多生成 dll文件,如果用静态库编程,即off时,应用程序可以独立运行,尺寸也比较大,如果用动态库编程,即on时,应用程序必须找到动态库才能运行,但尺寸可以做得比较小。建议选On,

 vtk_use_parallel: 对于想用vtk 做并行计算的朋友,要把这个选上,对于只想学学vtk的,保持默认 off

都没问题了所有项目会变成灰色。这时就可以按OK了,几秒钟后,cmake自动退出,为VC6准备的make文件已经生成好。

 

(2)          在你的编译文件路径下(D:\VTK6\VTKBin2)找到VTK.sln,以管理员方式打开,准备两次编译:

A.release版本编译



选择生成解决方案即可,完成后可能会有SAFESEH错误,只要找到相关项目,在链接->命令行中加入/safeseh:no,然后再次生成解决方案。

B.debug版本编译

和release编译步骤相同。

待完成后,把release中的QVTKWidgetPlugin.lib,QVTKWidgetPlugin.dll拷贝到D:\Qt\Qt5.3.2\5.3\msvc2012_opengl\plugins\designer下,然后打开qtdesigner就可以看到qvtk选项了。

 

然后把D:\VTK\prefix\bin下添加到系统环境变量的Path




(3)上面的步骤只是将下载下来的VTK源码在windows的平台上生成了相当于setup文件,就是install工程,还需要在编译 install工程才能在cmake时候的变量CMAKE_INSTALL_PREFIX下生成安装文件,(在前面编译的时候INSTALL工程都是skip的,没有编译),在visualstudio 中的solution中找到INSTALL,点击BUILDONLY PROJECTbuild安装,如下图




这样就会在C:\ProgramFiles(x86)\VTK下生成如下文件:



表示vtk安装成功。

4)添加系统路径

PATH=C:\ProgramFiles(x86)\VTK\bin

QTDIR=D:\Qt\Qt5.3.2\5.3\msvc2012_opengl


以上就完成了所以的配置,下面举例如何建立自己的项目

1.      打开vs2012,创建新项目,选择QtApplication



VTK官网上的QT_VTK example:

http://www.vtk.org/Wiki/VTK/Examples/Cxx/Qt/QImageToImageSource


添加包含目录及所有的库文件。最终结果如下。




注意:

以后新建QT与VTK程序时候,

Qt5Gui_glu32_LIBRAYRY错误解决

,点击cmake界面坐上角的“AddEntry”按钮,添加CMAKE_PREFIX_PATH选项(TYPE选择PATH

C:\ProgramFiles\Microsoft SDKs\Windows\v6.0A\Lib\x64和前文QT路径之间加;隔开

 

推荐方法:(不必再以后新建VTK,QT程序时候,每次都加CMAKE_PREFIX_PATH

或者在 QT安装路径下找到,Qt5GuiConfigExtras.cmake,文件的最开始添加一句

set(CMAKE_LIBRARY_PATH"C:\\Program Files\\Microsoft SDKs\\Windows\\v6.0A\\Lib\\x64")

 

 

VS2010中打开由CMake生成的工程文件,包含ALL_BUILDbilateral_filterZERO_CHECK三个项目。

程序运行时异常终止了,想进入调试模式查看问题具体出在什么地方。

但编译的时候出现错误提示:

无法启动程序 无法找到文件e:\projects_pcl\pcl_filters\bilateral_filter\build\x64\Debug\ALL_BUILD


解决办法:

1. VS2010中移除ALL_BUILDZERO_CHECK这两个工程文件,剩下bilateral_filter这一个工程文件就可以了。

移除工程文件的方法:鼠标右击对应的工程文件,单击移除

2. 重新编译进调试模式,可以了。

 

问题解决。



 2.3 创建一个简单的VTK程序

2.2一节里,我们详细讲解了如何编译、安装VTK,那么如何测试VTK到底有没有正确地安装,或者说怎么使用我们在前面编译出来的VTK函数库呢?

首先我们需要写一个CMakeLists.txt文件。前面的内容我们已经接触了CMake,也用CMake来配置过VTK工程,下面我们先看看CMake的介绍。

2.3.1 什么是CMake

对于每个使用VTK的开发人员来说,必须认识的一个工具就是CMakeCMake的产生与发展也与VTK息息相关。以下一段内容摘自维基百科,主要是关于CMake的历史:

“CMake是为了解决美国国家医学图书馆出资的VisibleHuman Project项目下的Insight Segmentation andRegistration Toolkit (ITK)软件的跨平台构建的需求而创造出来的,其设计受到了KenMartin开发的pcmaker的影响。pcmaker当初则是为了支援VisualizationToolkit (VTK)这个开源的三维图形和视觉系统才出现的,现在VTK也采用了CMake

从以上关于CMake的介绍可以知道,CMake其实就是一个跨平台的工程构建工具,可以根据不同的平台生成与平台相关的工程配置文件,比如Windows平台采用VisualStudio,则可以生成*.dsw/*.sln等项目文件。利用CMake可以管理大型的项目,VTK就是使用了CMake作为项目管理工具。同时CMake也简化了工程构建过程,只要给工程里的每个目录都写一个CMakeLists.txt,就可以生成出该工程的编译文件。CMake支持in-place构建(也就是生成的二进制文件跟源文件在同一个目录)out-of-place构建(编译链接生成的二进制文件和源文件分别在不同的目录,前面我们讲VTK编译过程时就是采用这种构建方式)两种工程构建方式。

CMake有自己的语言和语法,用CMake对工程进行管理的过程,就是编写CMakeLists.txt脚本文件的过程,原则上要求工程里的每一个目录都包含一个同名的文件,而且这个文件的名字只能是:CMakeLists.txt。假如写成cmakelists.txt,由于

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值