vtk环境搭建(windowsXP/win7,vtk6.0.0+cmake2.8+vs2010)

来源:互联网 发布:linux查询cpu个数 编辑:程序博客网 时间:2024/06/09 21:07

 

1. 安装vs2010(默认方式)

2. 安装cmake2.8(默认方式)

3. 新建文件夹作为vtk文件根目录(例如"E:\vtk6.0"),解压vtk-6.0.0.zip到根目录,将VTK6.0.0改名为vtk;解压vtkdata-6.0.0.zip到根目录,将VTKDATA6.0.0改名为vtkdata(名字可随意,前后一致即可);新建bin文件夹

4. 打开cmake,若需选择编译器选vc2010即可,设置source code文件夹为E:/vtk6.0/vtk,设置build文件夹为E:/vtk6.0/bin,然后Configure,结束后为红色,可根据自己需要修改选项,此处勾选BUILD_EXAMPLES(若为了速度可不选此项),CMAKE_INSTALL_PREFIX为默认安装路径,此处默认为C:/Program Files/VTK。修改后重新Configure,结束后可Generate。

至此在E:\vtk6.0\bin可看到VTK.sln,vc2010打开后编译ALL_BUILD(比较慢),然后编译INSTALL(需先设为启动项目),然后编译例子Cone,运行可看到旋转的圆锥。

5. 新建空vc2010工程,添加cpp文件,拷入示例代码(可从vtk.sln解决方案中拷某个示例代码如cone),修改项目属性:

配置属性>>C/C++>>常规>>附加包含目录 加入路径C:\Program Files\VTK\include\vtk-6.0;

配置属性>>链接器>>常规>>附加库目录 加入路径C:\Program Files\VTK\lib;

配置属性>>连接器>>常规>>输入>>附加依赖项 改为:(可能不需要这么多,待高手提供更简便的方法)

kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib;vtkalglib-6.0.lib;vtkChartsCore-6.0.lib;vtkCommonColor-6.0.lib;vtkCommonDataModel-6.0.lib;vtkCommonMath-6.0.lib;vtkCommonCore-6.0.lib;vtksys-6.0.lib;vtkCommonMisc-6.0.lib;vtkCommonSystem-6.0.lib;vtkCommonTransforms-6.0.lib;vtkInfovisCore-6.0.lib;vtkFiltersExtraction-6.0.lib;vtkCommonExecutionModel-6.0.lib;vtkFiltersCore-6.0.lib;vtkFiltersGeneral-6.0.lib;vtkCommonComputationalGeometry-6.0.lib;vtkFiltersStatistics-6.0.lib;vtkImagingFourier-6.0.lib;vtkImagingCore-6.0.lib;vtkRenderingContext2D-6.0.lib;vtkRenderingCore-6.0.lib;vtkFiltersGeometry-6.0.lib;vtkFiltersSources-6.0.lib;vtkIOImage-6.0.lib;vtkDICOMParser-6.0.lib;vtkIOCore-6.0.lib;vtkzlib-6.0.lib;vtkmetaio-6.0.lib;vtkjpeg-6.0.lib;vtkpng-6.0.lib;vtktiff-6.0.lib;vtkIOXMLParser-6.0.lib;vtkexpat-6.0.lib;vtkRenderingFreeType-6.0.lib;vtkfreetype-6.0.lib;vtkftgl-6.0.lib;vtkRenderingOpenGL-6.0.lib;vtkImagingHybrid-6.0.lib;vtkDomainsChemistry-6.0.lib;vtkIOXML-6.0.lib;vtkIOGeometry-6.0.lib;vtkjsoncpp-6.0.lib;vtkexoIIc-6.0.lib;vtkNetCDF-6.0.lib;vtkNetCDF_cxx-6.0.lib;vtkhdf5_hl-6.0.lib;vtkhdf5-6.0.lib;vtkFiltersAMR-6.0.lib;vtkParallelCore-6.0.lib;vtkIOLegacy-6.0.lib;vtkFiltersFlowPaths-6.0.lib;vtkFiltersGeneric-6.0.lib;vtkFiltersHybrid-6.0.lib;vtkImagingSources-6.0.lib;vtkFiltersHyperTree-6.0.lib;vtkFiltersImaging-6.0.lib;vtkImagingGeneral-6.0.lib;vtkFiltersModeling-6.0.lib;vtkFiltersParallel-6.0.lib;vtkFiltersParallelImaging-6.0.lib;vtkFiltersProgrammable-6.0.lib;vtkFiltersSelection-6.0.lib;vtkFiltersTexture-6.0.lib;vtkFiltersVerdict-6.0.lib;vtkverdict-6.0.lib;vtkGeovisCore-6.0.lib;vtkInfovisLayout-6.0.lib;vtkInteractionStyle-6.0.lib;vtkInteractionWidgets-6.0.lib;vtkRenderingAnnotation-6.0.lib;vtkImagingColor-6.0.lib;vtkRenderingVolume-6.0.lib;vtkViewsCore-6.0.lib;vtkproj4-6.0.lib;vtkgl2ps-6.0.lib;vtkImagingMath-6.0.lib;vtkImagingMorphological-6.0.lib;vtkImagingStatistics-6.0.lib;vtkImagingStencil-6.0.lib;vtkInteractionImage-6.0.lib;vtkIOAMR-6.0.lib;vtkIOEnSight-6.0.lib;vtkIOExodus-6.0.lib;vtkIOExport-6.0.lib;vtkRenderingGL2PS-6.0.lib;vtkIOImport-6.0.lib;vtkIOInfovis-6.0.lib;vtklibxml2-6.0.lib;vtkIOLSDyna-6.0.lib;vtkIOMINC-6.0.lib;vtkIOMovie-6.0.lib;vtkoggtheora-6.0.lib;vtkIONetCDF-6.0.lib;vtkIOParallel-6.0.lib;vtkIOPLY-6.0.lib;vtkIOSQL-6.0.lib;vtksqlite-6.0.lib;vtkIOVideo-6.0.lib;vtkRenderingFreeTypeOpenGL-6.0.lib;vtkRenderingHybridOpenGL-6.0.lib;vtkRenderingImage-6.0.lib;vtkRenderingLabel-6.0.lib;vtkRenderingLOD-6.0.lib;vtkRenderingVolumeAMR-6.0.lib;vtkRenderingVolumeOpenGL-6.0.lib;vtkTestingGenericBridge-6.0.lib;vtkTestingIOSQL-6.0.lib;vtkTestingRendering-6.0.lib;vtkViewsContext2D-6.0.lib;vtkViewsGeovis-6.0.lib;vtkViewsInfovis-6.0.lib;vtkgl2ps-6.0.lib;vtkexoIIc-6.0.lib;vtkFiltersParallel-6.0.lib;vtkIONetCDF-6.0.lib;vtkNetCDF_cxx-6.0.lib;vtkNetCDF-6.0.lib;vtkhdf5_hl-6.0.lib;vtkhdf5-6.0.lib;vfw32.lib;vtkFiltersAMR-6.0.lib;vtkParallelCore-6.0.lib;vtkIOLegacy-6.0.lib;vtkIOSQL-6.0.lib;vtksqlite-6.0.lib;vtkGeovisCore-6.0.lib;vtkIOXML-6.0.lib;vtkIOGeometry-6.0.lib;vtkjsoncpp-6.0.lib;vtkproj4-6.0.lib;vtkRenderingContext2D-6.0.lib;vtkRenderingOpenGL-6.0.lib;glu32.lib;vtkFiltersImaging-6.0.lib;vtkInfovisLayout-6.0.lib;vtkInfovisCore-6.0.lib;vtkViewsCore-6.0.lib;vtkInteractionWidgets-6.0.lib;vtkImagingHybrid-6.0.lib;vtkFiltersHybrid-6.0.lib;vtkImagingGeneral-6.0.lib;vtkImagingSources-6.0.lib;vtkFiltersModeling-6.0.lib;vtkInteractionStyle-6.0.lib;vtkRenderingAnnotation-6.0.lib;vtkImagingColor-6.0.lib;vtkRenderingVolume-6.0.lib;vtkRenderingLabel-6.0.lib;vtkRenderingFreeType-6.0.lib;vtkRenderingCore-6.0.lib;vtkFiltersExtraction-6.0.lib;vtkFiltersStatistics-6.0.lib;vtkalglib-6.0.lib;vtkImagingFourier-6.0.lib;vtkImagingCore-6.0.lib;vtkFiltersGeometry-6.0.lib;vtkFiltersSources-6.0.lib;vtkFiltersGeneral-6.0.lib;vtkFiltersCore-6.0.lib;vtkCommonComputationalGeometry-6.0.lib;vtkIOImage-6.0.lib;vtkDICOMParser-6.0.lib;vtkmetaio-6.0.lib;comctl32.lib;wsock32.lib;vtkpng-6.0.lib;vtktiff-6.0.lib;vtkjpeg-6.0.lib;vtkIOXMLParser-6.0.lib;vtkIOCore-6.0.lib;vtkCommonExecutionModel-6.0.lib;vtkCommonDataModel-6.0.lib;vtkCommonMisc-6.0.lib;vtkCommonSystem-6.0.lib;vtkCommonTransforms-6.0.lib;vtkCommonMath-6.0.lib;vtkCommonCore-6.0.lib;vtksys-6.0.lib;ws2_32.lib;Psapi.lib;vtkexpat-6.0.lib;vtkftgl-6.0.lib;vtkfreetype-6.0.lib;vtkzlib-6.0.lib;opengl32.lib

 

至此编译已经没有问题,运行会弹框报错

Generic Warning: In ... ...\Rendering\Core\vtkPolyDataMapper.cxx, line 27
Error: no override found for 'vtkPolyDataMapper'

解决办法是在cpp文件头加上两个宏定义(http://stackoverflow.com/questions/18642155/no-override-found-for-vtkpolydatamapper)

#define vtkRenderingCore_AUTOINIT 4(vtkInteractionStyle,vtkRenderingFreeType,vtkRenderingFreeTypeOpenGL,vtkRenderingOpenGL)
#define vtkRenderingVolume_AUTOINIT 1(vtkRenderingVolumeOpenGL)

然后编译,运行,旋转圆锥出现了!!!

 

补充:

1.若cmake在gernerate是勾选GUI及MFC,ALL_BUILD编译是可能会报错,可参考

http://blog.csdn.net/left_la/article/details/7069708

原创粉丝点击