VTK+VS2010安装错误总结

VTK的安装应该算的上是我最郁闷最纠结的一次安装了。期间发生了各种错误,记录如下,以防以后重装系统还得再装……


系统环境:64位机+VS2010


下载了最新的VTK http://vtk.org/VTK/resources/software.html#latest 以及CMake http://www.cmake.org/cmake/resources/software.html

将VTK压缩包解压,安装完cmake并运行。


设置好source code和build路径(前一个是VTK,后一个是bin),点击configure。完了之后,勾选advanced,找到vtk_use_guisupport,勾选,之后会出现vtk_us_mfc,勾选,这样以后运行相关mfc程序就不会出错了。设置vtk_datda_root(vtkdata文件夹)cmake_install_prefix(vtk文件夹)。继续点击configure,笔者在此时就顺利地没有红色出现了~
之后用vs打开bin目录下的.sln工程文件,直接编译。我编译了1个小时多一点。65个生成成功,1个生成失败。

具体错误信息是:atal error C1189: #error : This file requires _WIN32_WINNT to be #defined at least to 0x0403,具体解决办法参考了http://blog.sciencenet.cn/blog-347289-573096.html文章,不过不全的是,还有一个vtkmfc里的cpp文件也需要修改一处地方。

修改完成后,编译全部通过。

找到工程文件里的install项目,右击,调试,启动新实例进行安装。顺利通过。

最后配置。

由于是64位机,记得要把所有的dll文件拷贝到System32中,可是我发现依旧报错:缺少***.dll,遂复制到SysWOW64文件夹下才可。

关于vs配置,留个记录吧,

C++->常规->附加包含目录:

D:\Program Files (x86)\vtk\VTK5.10.1\GenericFiltering

D:\Program Files (x86)\vtk\VTK5.10.1\Common

D:\Program Files (x86)\vtk\VTK5.10.1\IO

D:\Program Files %28x86%29\vtk\VTK5.10.1\Filtering

D:\Program Files %28x86%29\vtk\VTK5.10.1\Graphics

D:\Program Files %28x86%29\vtk\VTK5.10.1\Rendering

D:\Program Files %28x86%29\vtk\VTK5.10.1\VolumeRendering

D:\Program Files %28x86%29\vtk\VTK5.10.1\Hybrid

D:\Program Files %28x86%29\vtk\VTK5.10.1\Imaging

D:\Program Files %28x86%29\vtk\bin

(自己输入记得一行一行的写!)

链接器->常规->附加库目录:

D:\Program Files %28x86%29\vtk\lib\vtk-5.10

链接器->输入->附加依赖库:

opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;uuid.lib;odbc32.lib;odbccp32.lib;vtkCommon.lib;

vtkDICOMParser.lib;vtkexoIIc.lib;vtkexpat.lib;vtkFiltering.lib;vtkfreetype.lib;vtkftgl.lib;oleaut32.lib;vtkGenericFiltering.lib;vtkGraphics.lib;vtkHybrid.lib;

vtkImaging.lib;vtkIO.lib;vtkjpeg.lib;vtkMPEG2Encode.lib;vtkNetCDF.lib;vtkpng.lib;vtkRendering.lib;vtksys.lib;vtktiff.lib;vtkVolumeRendering.lib;

vtkWidgets.lib;vtkzlib.lib;ws2_32.lib(分号隔开!漏了会悲剧!)

啊,这里是测试代码:

#include "vtkConeSource.h"   
#include "vtkPolyDataMapper.h"   
#include "vtkRenderWindow.h"   
#include "vtkCamera.h"   
#include "vtkActor.h"  
#include "vtkRenderer.h"   
#include "vtkProperty.h"  
#include "windows.h"   


int main()   
{  
	vtkConeSource *cone = vtkConeSource::New();    
	cone->SetHeight( 3.0 );   
	cone->SetRadius( 1.0 );  
	cone->SetResolution( 10 );   
	
	vtkPolyDataMapper *coneMapper = vtkPolyDataMapper::New();   
	coneMapper->SetInputConnection( cone->GetOutputPort() );  


	vtkActor *coneActor = vtkActor::New();    
	coneActor->SetMapper( coneMapper );    
	vtkRenderer *ren1= vtkRenderer::New(); 
	ren1->AddActor( coneActor ); 
	ren1->SetBackground( 0.1, 0.2, 0.4 );    
	
	vtkRenderWindow *renWin = vtkRenderWindow::New();   
	renWin->AddRenderer( ren1 );   
	renWin->SetSize( 300, 300 );  
	
	int i;  
	for (i = 0; i < 360; ++i)  
	{   
		renWin->Render();   
		ren1->GetActiveCamera()->Azimuth( i );  
		Sleep(200); 
	}            
		cone->Delete();    
	coneMapper->Delete();   
	coneActor->Delete();    
	ren1->Delete();
	renWin->Delete(); 
	
	return 0;
}

运行成功

基本END了吧……我是菜鸟……我光安装就装了好久……犯了一堆错误……泪流满面地记录



评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值