VS2005配置VTK

来源:互联网 发布:梦龙网络计划是什么 编辑:程序博客网 时间:2024/06/05 17:15

由于工作需要,在VS2005环境下配置VTK,找了很多资料都有问题(可能是版本的问题),以下内容转自http://hi.baidu.com/wchwho/blog/item/c6c6dd1d32f3f5ed1ad5766e.html,是配置vtk5.6的。

另:生成的DLL文件需拷贝到C:/WINDOWS/system目录下,否则编译可通过,但运行的时候会提示找不到DLL文件。

由于课题需要用到体绘制的东西,便找到了VTK。网上VTK配置介绍还可以,不过我没试成功,参考着他们的解说,按照自己的想法实现了下配置。想法是主要是便于配置、换台机器也能比较容易配置。介绍的步骤虽多却很容易理解,1-12步骤是编译VTK的,后面的是配置VS2005的。

 

1、以VS2005为例,需要提前安装CmakeCmake尽量是最新版本吧,说是最低2.4。

2、下载最新的VTK源码和VTK数据包,解压放在单独的文件夹内。这一步怎么弄都无所谓,现在的版本是VTK5.6。

3、打开CMake,“Where is the source code”用来指定VTK源码加压缩后的文件夹位置,“Where to build the binaries”用来指定VS2005工程项目输出的位置,找填一个自己满意的位置就行。

4、其他的目前先不用做,直接点“Configure”配置一下,大约运行个十分钟左右,就会显示出一片红色的结果,这时候在“Advanced”前打个勾,在红色结果框里找到“vtk_use_guisupport”,选中打个勾,第二次Configure配置一下,很快就出结果了,在结果框里找到“vtk_use_mfc”,选中打个勾,第三次Configure,这次应该不会再有红色的结果,全显示为无色了。

5、在结果框里选中所有的,按“Generate”输出配置后的结果。CMake部分就结束了,下面是VS2005的事情了。

6、在“Where to build the binaries”指定的位置出找到.sln文件,双击打开就成了。

7VTK可以生产“DebugReleaseMinSizeRelRelWithDebInfo”四种模式下的各种文件。

8、右键点击“ALL_BUILD”选择“Rebuild”选项就可以。大概得用半个多小时,所以这个时候可以忙其他的了。我在编译生成时,提示说“Build: 65 succeeded, 0 failed, 2 up-to-date, 0 skipped”。

9、生产完之后,在工程栏里找到“INSTALL”选项,右键点击选择“”,这个东西是提取项目中所有可能用到的.h.lib.dll.exe等文件提取集中放到一个位置,位置是在第5CMake生成时,结果框中有个“cmake_install_prefix”,就是它指示的位置,也可以修改其值。

10、默认情况下,.h.lib.dll.exe等文件被放到C:\Program Files\VTK目录,因为开发设计到DebugRelease模式,为防止在Release提出的文件将上次提取的文件被覆盖,先挪个位置,比如在当前文件夹下建个Debug文件夹,将生成的文件夹全部拖进去就OK了。

11、接下来重复7-10步骤,生成ReleaseMinSizeRelRelWithDebInfo(编译选项,build菜单下的project configuration)等三个模式下对应的文件。

12、至此生成的文件为








ReleaseMinSizeRelRelWithDebInfo等三个文件夹下的文件结构类似。

13、前面的12步骤,也可以参考网上其它介绍。由于这里生成了4中模式下的开发所需的文件,因此VS2005需要专门配置下,比网上的要简单。

14、新建一个工程,随便丢进去一个可以正确编译的代码,然后开始配置。

15



上图是用来配置Debug模式下的lib文件目录


上图是用来配置Debug模式下的.h文件目录


上图是用来配置Release模式下的.lib文件目录


上图是用来配置Release模式下的.h文件目录

$(NOINHERIT) kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib uuid.lib ole32.lib oleaut32.lib comdlg32.lib advapi32.lib vtkMFC.lib vtkRendering.lib vtkGraphics.lib vtkverdict.lib vtkImaging.lib vtkIO.lib vtkFiltering.lib vtkCommon.lib vtkDICOMParser.lib vtkNetCDF.lib vtkmetaio.lib comctl32.lib wsock32.lib vtksqlite.lib vtkpng.lib vtktiff.lib vtkzlib.lib vtkjpeg.lib vtkexpat.lib vtksys.lib ws2_32.lib vfw32.lib vtkftgl.lib vtkfreetype.lib opengl32.lib vtkWidgets.lib vtkVolumeRendering.lib vtkViews.lib vtkproj4.lib vtklibxml2.lib vtkInfovis.lib vtkHybrid.lib vtkGeovis.lib vtkGenericFiltering.lib vtkexoIIc.lib vtkCharts.lib vtkalglib.lib

这一个是用来配置所有模式下需要用到的.lib文件名,这么做就不用分别在各个模式下再输入一遍了。这些.lib文件名用的是网上流传的。

16、目前不清楚MinSizeRelRelWithDebInfo模式是干什么的,配置应该也是一样。测试运行下例子吧。


代码用的是网上的,横容易搜到。

原创粉丝点击