1. 主页 > vs安装问题 > VS2012安装问题 >

VTK亲自安装出现的问题及解决办法(WIN7 64位 +

 参考了很多配置文章,只列出主要二个

http://blog.csdn.net/yunhaic/article/details/40653221

http://wenku.baidu.com/link?url=JRcgVmoM0UsnrzzQx2ch25W1QLpPl3voOz9BIysJzhtOwSAOZDqODetrmDfuVohMHOBxGzroD3j_EwrV4obWHRQGBugKmCHQP34rHKOjGaO

我的安装路径

   安装VTK遇到了一些问题,参考了很多配置的文章才找到解决办法,写下来希望能给大家带来快捷的帮助

1、Cmake遇到的一些问题及解决

1.1 找不到VTK_DIR

手动设置为C:\vtk\VTKbin

1.2 找不到TCL_LIBRARY TK_LIBRARY

因为我的计算机没有安装TCL,所以CMake就找不到吧,所以我就在http://www.activestate.com/activetcl/downloads,一步一步安装就可以了

那么TCL_LIBRARY就可以手动设置为C:\vtk\TCL\lib\tcl86.lib,TK_LIBRARY就可以手动设置为C:\vtk\TCL\lib\tk86.lib

1.3 CMake时如果你的build_shared_libs设置为on的话,将会多生成 dll 文件,很多人会疑问那些dll文件的目录在哪儿?还有什么时候经行拷贝转移了?

CMake的时候不用经行拷贝转移,当所有代码重新生成的时候,即用VS2012打开E:\vtk\VTKbin\Utilities\MaterialLibrary目录下的 MaterialLibrary.sln 文件,右键点击All_Build选择重新生成完成之后,把E:\vtk\VTKbin\bin\Debug(这是参考作者的目录)下的所有dll文件都拷贝到Windows\SysWOW64。

2、CMake完成之后需打开E:\vtk\VTKbin下的VTK.sln右键点击All_Build选择重新生成,很多人用了好几个小时甚至几天,但这个过程我只用了15分钟左右,哈哈,很开心,但重新生成成功了141个,失败了6个,下面是解决办法。

3This file requires _WIN32_WINNT to be #defined at least to 0x0403. Value 0x0501 or higher is recommended. 解决办法为: 

找到五个工程:vtkDLGvtkMDIvtkSDIWin32SampleMFCvtkMFC 打开前四个工程源文件中的stdAfx.h, vtkMFC工程下的vtkMFCWindow.cpp打开修改  

4stdafx.h如下修改 

 #ifndef WINVER        // Allow use of features specific to Windows 95 and Windows NT 4 or later. 

 #define WINVER 0x0601    // Change this to the appropriate value to target Windows 98 and Windows 2000 or later.  #endif   

 #ifndef _WIN32_WINNT    // Allow use of features specific to Windows NT 4 or later.  #define _WIN32_WINNT 0x0601    // Change this to the appropriate value to target Windows 98 and Windows 2000 or later.  #endif               

 #if _MSC_VER >= 1300 

 #ifndef _WIN32_WINDOWS    // Allow use of features specific to Windows 98 or later.  #define _WIN32_WINDOWS 0x0601 // Change this to the appropriate value to target Windows Me or later.  #endif  #endif   

 #ifndef _WIN32_IE      // Allow use of features specific to IE 4.0 or later. 

 #define _WIN32_IE 0x0800  // Change this to the appropriate value to target IE 5.0 or later.  #en

 

vtkMFCWindow.cpp中的部分代码: 

// Allow use of features specific to Windows 95 and Windows NT 4 or later. #ifndef WINVER #define WINVER 0x0601 #endif  

// Define _WIN32_WINNT and _WIN32_IE to avoid the following error with Visual // Studio 2008 SP1: 

// "C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\sdkddkver.h(217) : // fatal error C1189: #error :  _WIN32_WINNT settings conflicts with _WIN32_IE // setting"  

#ifndef _WIN32_WINNT 

#define _WIN32_WINNT 0x0601 // =_WIN32_WINNT_NT4 #endif 

#ifndef _WIN32_IE 

#define _WIN32_IE 0x0800 //=_WIN32_IE_IE60SP1 #endif 

此时,应该没有问题了

4、直接测试VTK自带的例子

打开C:\vtk\VTKbin\Examples\VTKExample.sln,选中你要测试的项目设为启动项目,就可以看到结果了噢

5、自己建项目

新建项目Test(控制台应用程序空项目),增加Test.cpp文件,用Cone6.cxx的文件内容覆盖Test.cpp的内容。

需自己配置的三大步骤

5.1 项目属性->配置属性->VC++目录->库目录: C:\vtk\VTKbin\bin\debug

5.2 项目属性->配置属性->VC++目录->包含目录 ,拷入入下述内容

C:\vtk\VTKbin; C:\vtk\VTKbin\bin; C:\vtk\VTKsourcecode\GenericFiltering;C:\vtk\VTKsourcecode\Common; C:\vtk\VTKsourcecode\IO; 

C:\vtk\VTKsourcecode\Filtering; C:\vtk\VTKsourcecode\Rendering; C:\vtk\VTKsourcecode\Graphics; C:\vtk\VTKsourcecode\VolumeRendering; 

C:\vtk\VTKsourcecode\Imaging; C:\vtk\VTKsourcecode\Hybrid; C:\vtk\VTKsourcecode\GUISupport; C:\vtk\VTKsourcecode\ Utilities;

 C:\vtk\VTKbin\ Utilities; C:\vtk\VTKsourcecode\Parallel; C:\vtk\VTKsourcecode\Widgets

5.3位于项目属性->链接器->输入->附加依赖项 ,拷入下述内容(注意:C:\vtk\VTKbin\bin\Debug里的lib文件都要附加上去)

kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib;comctl32.lib;vfw32.lib;ws2_32.lib;

wsock32.lib;opengl32.lib;vtkCharts.lib;vtkGeovis.lib;vtkViews.lib;vtkInfovis.lib;vtkRendering.lib;vtkIO.lib;vtkDICOMParser.lib;vtkNetCDF_cxx.lib;

vtkNetCDF.lib;vtkmetaio.lib;vtksqlite.lib;vtkpng.lib;vtktiff.lib;vtkzlib.lib;vtkjpeg.lib;vtkexpat.lib;vtkGraphics.lib;vtkverdict.lib;vtkImaging.lib;

vtkFiltering.lib;vtkCommon.lib;vtksys.lib;vtkftgl.lib;vtkfreetype.lib;vtkWidgets.lib;%(AdditionalDependencies)

 

 

 

本文由VS软件圈(vssoft.net)发布,不代表VS软件圈立场,转载联系作者并注明出处:https://vssoft.net/vsazwt/VS2012anzhuangwenti/2020/0727/5818.html

联系我们

在线咨询:点击这里给我发消息

微信号:PREEE8

工作日:9:30-18:30,节假日休息