windows和linux下VTK7.0.0的配置
来源:互联网 发布:mac 装win10 鼠标右键 编辑:程序博客网 时间:2024/06/06 05:23
开发环境Windows 7VS2013Ubuntu14.04 VTK7.0.0cmake
windows
cmake安装
- 在官网下载,直接安装即可,尽量使用新版本。
VTK下载及解压
- 从官网下载
VTK-7.0.0.zip
和VTKData-7.0.0.zip
,解压到自己新建的一个文件夹中,我的就是它解压出来的文件夹VTK-7.0.0
,绝对路径是E:\InstallFolders\VTK
- 在刚才的文件夹的同级文件夹中新建
VTK-7.0.0-bin
文件夹,用于之后解压cmake的目标目录。
* 打开cmake,选择编译的原目录和目标目录,如下:
点击cmake左下方的
Configure
按钮,选择Visual Studio 12 2013
,无论是什么VS的版本,尽量不要选Win64
版本(我没试过=。=)。勾选上方的
Advanced
复选框,点击Config
开始编译。- 如果出现错误(有红色标出),重新Config,直到没有错误为止。在这一步中,有一些选项可以选择,如
BUILD_EXAMPLES
、BUILD_SHARED_LIBS
等,刚才提到的是比较重要的,按照下图配置
其他的按照默认即可,下图是没有错误生成时的情形。
- 点击
Configure
右边的Generate
,完成即可。
VS测试是否编译成功
- 在编译输出目录下有一个VTK.sln的文件,直接打开,全部重新编译,如果没有错误,则说明安装成功,选择
Cone6
的项目,启动新实例,得到以下图像
VS配置
- 在VS中新建一个空的的
ConsoleApplication
,添加main.cpp,将刚才的Cone6中的Cone6.cxx
中的内容拷贝过去,此时编译会报错。接下来进行配置。 - 打开
property manager->Microsoft.Cpp.Win32.user
的属性,在VC++ Directories
中的Library Directories
里添加E:\InstallFolders\VTK\VTK-7.0.0-bin\lib\Debug
,即库目录。 - 在
C/C++ -> General
中的Additional Include Directories
中添加E:\InstallFolders\VTK\VTK-7.0.0-bin\Filters\Sources;E:\InstallFolders\VTK\VTK-7.0.0\Filters\Sources;E:\InstallFolders\VTK\VTK-7.0.0-bin\Common\ComputationalGeometry;E:\InstallFolders\VTK\VTK-7.0.0\Common\ComputationalGeometry;E:\InstallFolders\VTK\VTK-7.0.0-bin\Common\DataModel;E:\InstallFolders\VTK\VTK-7.0.0\Common\DataModel;E:\InstallFolders\VTK\VTK-7.0.0-bin\Common\Math;E:\InstallFolders\VTK\VTK-7.0.0\Common\Math;E:\InstallFolders\VTK\VTK-7.0.0-bin\Common\Core;E:\InstallFolders\VTK\VTK-7.0.0\Common\Core;E:\InstallFolders\VTK\VTK-7.0.0-bin\Utilities\KWSys;E:\InstallFolders\VTK\VTK-7.0.0\Utilities\KWSys;E:\InstallFolders\VTK\VTK-7.0.0-bin\Common\Misc;E:\InstallFolders\VTK\VTK-7.0.0\Common\Misc;E:\InstallFolders\VTK\VTK-7.0.0-bin\Common\System;E:\InstallFolders\VTK\VTK-7.0.0\Common\System;E:\InstallFolders\VTK\VTK-7.0.0-bin\Common\Transforms;E:\InstallFolders\VTK\VTK-7.0.0\Common\Transforms;E:\InstallFolders\VTK\VTK-7.0.0-bin\Filters\General;E:\InstallFolders\VTK\VTK-7.0.0\Filters\General;E:\InstallFolders\VTK\VTK-7.0.0-bin\Filters\Core;E:\InstallFolders\VTK\VTK-7.0.0\Filters\Core;E:\InstallFolders\VTK\VTK-7.0.0-bin\Common\ExecutionModel;E:\InstallFolders\VTK\VTK-7.0.0\Common\ExecutionModel;E:\InstallFolders\VTK\VTK-7.0.0-bin\Interaction\Widgets;E:\InstallFolders\VTK\VTK-7.0.0\Interaction\Widgets;E:\InstallFolders\VTK\VTK-7.0.0-bin\Filters\Hybrid;E:\InstallFolders\VTK\VTK-7.0.0\Filters\Hybrid;E:\InstallFolders\VTK\VTK-7.0.0-bin\Imaging\Sources;E:\InstallFolders\VTK\VTK-7.0.0\Imaging\Sources;E:\InstallFolders\VTK\VTK-7.0.0-bin\Imaging\Core;E:\InstallFolders\VTK\VTK-7.0.0\Imaging\Core;E:\InstallFolders\VTK\VTK-7.0.0-bin\Rendering\Core;E:\InstallFolders\VTK\VTK-7.0.0\Rendering\Core;E:\InstallFolders\VTK\VTK-7.0.0-bin\Common\Color;E:\InstallFolders\VTK\VTK-7.0.0\Common\Color;E:\InstallFolders\VTK\VTK-7.0.0-bin\Filters\Extraction;E:\InstallFolders\VTK\VTK-7.0.0\Filters\Extraction;E:\InstallFolders\VTK\VTK-7.0.0-bin\Filters\Statistics;E:\InstallFolders\VTK\VTK-7.0.0\Filters\Statistics;E:\InstallFolders\VTK\VTK-7.0.0-bin\Imaging\Fourier;E:\InstallFolders\VTK\VTK-7.0.0\Imaging\Fourier;E:\InstallFolders\VTK\VTK-7.0.0-bin\ThirdParty\alglib;E:\InstallFolders\VTK\VTK-7.0.0\ThirdParty\alglib;E:\InstallFolders\VTK\VTK-7.0.0-bin\Filters\Geometry;E:\InstallFolders\VTK\VTK-7.0.0\Filters\Geometry;E:\InstallFolders\VTK\VTK-7.0.0-bin\Filters\Modeling;E:\InstallFolders\VTK\VTK-7.0.0\Filters\Modeling;E:\InstallFolders\VTK\VTK-7.0.0-bin\Imaging\General;E:\InstallFolders\VTK\VTK-7.0.0\Imaging\General;E:\InstallFolders\VTK\VTK-7.0.0-bin\Imaging\Hybrid;E:\InstallFolders\VTK\VTK-7.0.0\Imaging\Hybrid;E:\InstallFolders\VTK\VTK-7.0.0-bin\IO\Image;E:\InstallFolders\VTK\VTK-7.0.0\IO\Image;E:\InstallFolders\VTK\VTK-7.0.0-bin\Utilities\DICOMParser;E:\InstallFolders\VTK\VTK-7.0.0\Utilities\DICOMParser;E:\InstallFolders\VTK\VTK-7.0.0-bin\IO\Core;E:\InstallFolders\VTK\VTK-7.0.0\IO\Core;E:\InstallFolders\VTK\VTK-7.0.0-bin\ThirdParty\zlib;E:\InstallFolders\VTK\VTK-7.0.0\ThirdParty\zlib;E:\InstallFolders\VTK\VTK-7.0.0-bin\Utilities\MetaIO\vtkmetaio;E:\InstallFolders\VTK\VTK-7.0.0-bin\Utilities\MetaIO;E:\InstallFolders\VTK\VTK-7.0.0\Utilities\MetaIO;E:\InstallFolders\VTK\VTK-7.0.0-bin\ThirdParty\jpeg;E:\InstallFolders\VTK\VTK-7.0.0\ThirdParty\jpeg;E:\InstallFolders\VTK\VTK-7.0.0-bin\ThirdParty\png;E:\InstallFolders\VTK\VTK-7.0.0\ThirdParty\png;E:\InstallFolders\VTK\VTK-7.0.0-bin\ThirdParty\tiff;E:\InstallFolders\VTK\VTK-7.0.0\ThirdParty\tiff;E:\InstallFolders\VTK\VTK-7.0.0-bin\Interaction\Style;E:\InstallFolders\VTK\VTK-7.0.0\Interaction\Style;E:\InstallFolders\VTK\VTK-7.0.0-bin\Rendering\Annotation;E:\InstallFolders\VTK\VTK-7.0.0\Rendering\Annotation;E:\InstallFolders\VTK\VTK-7.0.0-bin\Imaging\Color;E:\InstallFolders\VTK\VTK-7.0.0\Imaging\Color;E:\InstallFolders\VTK\VTK-7.0.0-bin\Rendering\FreeType;E:\InstallFolders\VTK\VTK-7.0.0\Rendering\FreeType;E:\InstallFolders\VTK\VTK-7.0.0-bin\ThirdParty\freetype;E:\InstallFolders\VTK\VTK-7.0.0\ThirdParty\freetype;E:\InstallFolders\VTK\VTK-7.0.0-bin\Rendering\Volume;E:\InstallFolders\VTK\VTK-7.0.0\Rendering\Volume;E:\InstallFolders\VTK\VTK-7.0.0-bin\Rendering\OpenGL2;E:\InstallFolders\VTK\VTK-7.0.0\Rendering\OpenGL2;E:\InstallFolders\VTK\VTK-7.0.0-bin\Utilities\EncodeString;E:\InstallFolders\VTK\VTK-7.0.0\Utilities\EncodeString;E:\InstallFolders\VTK\VTK-7.0.0-bin\ThirdParty\glew;E:\InstallFolders\VTK\VTK-7.0.0\ThirdParty\glew;E:\InstallFolders\VTK\VTK-7.0.0-bin\bin\Debug;%(AdditionalIncludeDirectories)
。 在
Linker -> Input -> Additional Dependencies
中添加kernel32.libuser32.libgdi32.libwinspool.libshell32.libole32.liboleaut32.libuuid.libcomdlg32.libadvapi32.libcomctl32.libvfw32.libws2_32.libwsock32.libopengl32.libvtkChartsCore-7.0.libvtkCommonColor-7.0.libvtkCommonComputationalGeometry-7.0.libvtkCommonCore-7.0.libvtkCommonDataModel-7.0.libvtkCommonExecutionModel-7.0.libvtkCommonMath-7.0.libvtkCommonMisc-7.0.libvtkCommonSystem-7.0.libvtkCommonTransforms-7.0.libvtkDICOMParser-7.0.libvtkDomainsChemistry-7.0.libvtkDomainsChemistryOpenGL2-7.0.libvtkFiltersAMR-7.0.libvtkFiltersCore-7.0.libvtkFiltersExtraction-7.0.libvtkFiltersFlowPaths-7.0.libvtkFiltersGeneral-7.0.libvtkFiltersGeneric-7.0.libvtkFiltersGeometry-7.0.libvtkFiltersHybrid-7.0.libvtkFiltersHyperTree-7.0.libvtkFiltersImaging-7.0.libvtkFiltersModeling-7.0.libvtkFiltersParallel-7.0.libvtkFiltersParallelImaging-7.0.libvtkFiltersProgrammable-7.0.libvtkFiltersSMP-7.0.libvtkFiltersSelection-7.0.libvtkFiltersSources-7.0.libvtkFiltersStatistics-7.0.libvtkFiltersTexture-7.0.libvtkFiltersVerdict-7.0.libvtkGeovisCore-7.0.libvtkIOAMR-7.0.libvtkIOCore-7.0.libvtkIOEnSight-7.0.libvtkIOExodus-7.0.libvtkIOExport-7.0.libvtkIOGeometry-7.0.libvtkIOImage-7.0.libvtkIOImport-7.0.libvtkIOInfovis-7.0.libvtkIOLSDyna-7.0.libvtkIOLegacy-7.0.libvtkIOMINC-7.0.libvtkIOMovie-7.0.libvtkIONetCDF-7.0.libvtkIOPLY-7.0.libvtkIOParallel-7.0.libvtkIOParallelXML-7.0.libvtkIOSQL-7.0.libvtkIOVideo-7.0.libvtkIOXML-7.0.libvtkIOXMLParser-7.0.libvtkImagingColor-7.0.libvtkImagingCore-7.0.libvtkImagingFourier-7.0.libvtkImagingGeneral-7.0.libvtkImagingHybrid-7.0.libvtkImagingMath-7.0.libvtkImagingMorphological-7.0.libvtkImagingSources-7.0.libvtkImagingStatistics-7.0.libvtkImagingStencil-7.0.libvtkInfovisCore-7.0.libvtkInfovisLayout-7.0.libvtkInteractionImage-7.0.libvtkInteractionStyle-7.0.libvtkInteractionWidgets-7.0.libvtkLocalExample-7.0.libvtkNetCDF-7.0.libvtkNetCDF_cxx-7.0.libvtkParallelCore-7.0.libvtkRenderingAnnotation-7.0.libvtkRenderingContext2D-7.0.libvtkRenderingContextOpenGL2-7.0.libvtkRenderingCore-7.0.libvtkRenderingFreeType-7.0.libvtkRenderingImage-7.0.libvtkRenderingLOD-7.0.libvtkRenderingLabel-7.0.libvtkRenderingOpenGL2-7.0.libvtkRenderingVolume-7.0.libvtkRenderingVolumeOpenGL2-7.0.libvtkViewsContext2D-7.0.libvtkViewsCore-7.0.libvtkViewsInfovis-7.0.libvtkalglib-7.0.libvtkexoIIc-7.0.libvtkexpat-7.0.libvtkfreetype-7.0.libvtkglew-7.0.libvtkhdf5-7.0.libvtkhdf5_hl-7.0.libvtkjpeg-7.0.libvtkjsoncpp-7.0.libvtklibxml2-7.0.libvtkmetaio-7.0.libvtkmyCommon.libvtkmyImaging.libvtkmyUnsorted.libvtkoggtheora-7.0.libvtkpng-7.0.libvtkproj4-7.0.libvtksqlite-7.0.libvtksys-7.0.libvtktiff-7.0.libvtkverdict-7.0.libvtkzlib-7.0.lib
- 上面在属性管理器中配置好了,之后再新建项目的时候不用重新配置了
项目本身的配置
- 如果此时运行,会提示
no override found for 'vtkPolyDataMapper'
。因为VTK使用cmake编译的,在VS下编译的话则需要预编译的一些宏定义。 - 点击新建的项目的属性,在
C/C++ -> Preprocessor
中添加WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;VTK_IN_VTK;vtkRenderingCore_INCLUDE="E:/InstallFolders/VTK/VTK-7.0.0-bin/CMakeFiles/vtkRenderingCore_AUTOINIT_vtkInteractionStyle_vtkRenderingFreeType_vtkRenderingOpenGL2.h";CMAKE_INTDIR="Debug";%(PreprocessorDefinitions)
,注意不要将之前项目中的宏定义覆盖了。具体的预编译的部分可以参考Cone6
中的预编译的宏定义。 - 在之后每次新建工程时,都需要添加预编译的宏定义!
结果
- 运行程序,得到和之前相同的图片如下:
一些有用的链接
http://blog.csdn.net/left_la/article/details/7069708
http://stackoverflow.com/questions/18642155/no-override-found-for-vtkpolydatamapper
注意
- 可以将预编译的宏定义放到
property manager
中,不用之后每次新建项目都定义,但是有一点需要注意:里面的vtkRenderingCore_INCLUDE="E:/InstallFolders/VTK/VTK-7.0.0-bin/CMakeFiles/vtkRenderingCore_AUTOINIT_vtkInteractionStyle_vtkRenderingFreeType_vtkRenderingOpenGL2.h"
是在对应的位置上,不同的项目要求的makeFile的头文件可能不一样(对应的文件夹下共有4个头文件),如果报野指针异常的错误,可以考虑是否是这个头文件的问题。
linux
g++ cmake等基本软件需要安装
- 剩下的直接按照这个教程来就行。ccmake运行时会提示要install哪个安装包,按照提示来就行,教程链接在这:http://www.linuxdiyf.com/linux/21391.html
- 在ccmake时,可能会提示没有opengl相关的宏,按照这篇文章http://blog.csdn.net/acidgl8757/article/details/9383915安装opengl相关库即可。
- ccmake之后,不报错时,还需要cmake ../,然后make, sudo make install。
0 0
- windows和linux下VTK7.0.0的配置
- windows和linux下虚拟主机的配置
- windows下和linux下的git环境的配置
- OpenVPN在windows和linux下的安装和配置
- solr在windows和linux下的安装和配置
- Win10 64位 + VS2015 +VTK7.0.0 +PCL1.8.0 +QT5.7的配置
- VS2013配置VTK7.1.1
- Windows和Linux下的Java环境变量配置
- ZendOptmizer在Linux和windows下配置的不同
- linux和windows下JDK环境的配置
- GraphicsMagick+Im4Java在windows和linux下的配置
- GraphicsMagick+Im4Java在windows和linux下的配置
- windows和linux下的JDK环境变量配置
- openfire在windows环境和linux环境下的配置
- windows和linux平台下java短信猫的配置
- 记录一下java windows和linux下的环境变量配置
- Tomcat在 Linux和windows下的安装配置
- Windows和Linux下JDK安装配置
- 向量几何在游戏编程中的使用1
- 《Java程序设计》课程实验指导书程序代码(答案)(实验七)
- hdu 4123 rmq与树的直径
- pixhawk 整体架构的认识
- 一些算法总结
- windows和linux下VTK7.0.0的配置
- 计算器 表达式求值
- Android之BLE开发(一)
- NSTimer的5种创建方法异同
- Ajax中window.location.href无法跳转的解决办法
- hdu 4122 单调队列或线段树
- 程序未动, 内存先行. (研发)
- MUI 按两次返回键退出应用 及 地理位置获取
- 古典密码学笔记