Qt VTK ITK安装与测试(二)VTK的安装与测试

VTK的安装与测试

安装简介

      本部分介绍使用cmake与VS2010进行VTK的编译,安装,以及VTK与Qt的联合。安装与配置完成后将可以实现VTK与Qt的联合开发。本部分假设Qt已经正确配置。

    根据在实际安装中遇到的bug,如果想正确配置VTK与QT,VTK的debug版与release版都必须编译。具体安装过程如下。

安装步骤


1 资源下载

Cmake下载地址:

http://download.csdn.net/detail/u011675242/5962105

cmake-2.8.11.2-win32-x86.exe

VTK下载地址:

http://download.csdn.net/detail/u011675242/5959499

包含文件

vtk-5.8.0-win32-x86.exe

vtkdata-5.8.0.zip

vtk-5.8.0.zip

2 Cmake安装

点击cmake的安装程序,点击下一步即可安装,安装目录随意。安装完后会出现图标。

3 VTK安装路径建立

VTK路径:

D:\Program Setup\(可以是任何路径)

        --VTK2008(将vtk-5.8.0-win32-x86.exe安装在此路径)

        --VTK

              --vtk   (将vtk-5.8.0.zip加压在此路径)

              --vtkdata (将vtkdata-5.8.0.zip解压在此路径)

              --vtk_bin_debug (存放vtk debug版本编译文件)

              --vtk_bin_release(存放vtk release版本编译文件)

4 使用cmake编译VTK

4.1 首先将路径建好,而后按要求将vtk-5.8.0-win32-x86.exe安装好vtk-5.8.0.zipvtkdata-5.8.0.zip解压到相应路径,如2.2.3所示。

4.2 接着打开cmake软件,添加源文件路径(Browse source),以及编译路径(Browse Build),如下图:


4.3 点击configure

Cmake会提示选择编译器,直接选择默认的Visual studio 10即可。

编译面板会出现一堆编译参数,修改编译参数:

点击Advanced选项:


需要的设置参数:

勾选BUILD_SHARED_LIBS为ON,编译动态运行库

勾选VTK_USE_Qt为ON,QT编译选项

勾选VTK_USE_GUISUPPORT为ON,

BUILD_EXAMPLES 编译EXAMPLE,最好不选,比较耗时。

修改CMAKE_INSTALL_PREFIX为D:/Program Setup/VTK2008

再点击Configure,直到没有错误出现,即编译参数面板全部变为白色,如下图。

点击Generate,生成VS2010工程项目。

5 使用VS2010编译,安装VTK

(a)编译release版本

进入D:/Program Setup/VTK/vtk_bin_release,点击VTK.sln。

编译:在VS2010界面,工程属性中选择编译版本为release,而后点击F5开始编译,也可右击ALL_BUILD工程选择生成。编译结束,如果输出没有错误,说明编译完成。

D:\Program Setup\VTK\vtk_bin_release\bin\Release中找到QVTKWidgetPlugin.dllQVTKWidgetPlugin.expQVTKWidgetPlugin.lib保存以备后用。

(b)编译debug版本

    将vtk_bin_release文件夹下的文件复制到vtk_bin_debug后,打开VS2010,重新编译。

编译:在VS2010界面,工程属性中选择编译版本为debug,而后点击F5开始编译,也可右击ALL_BUILD工程选择生成。编译结束,如果输出没有错误,说明编译完成。

安装:在解决方案中找到INSTALL工程,右击该工程后选择生成,即可完成VTK的安装,VTK的安装路径为CMAKE_INSTALL_PREFIX参数所设。

到此完成VTK编译与安装。

6 环境变量的设置

我的电脑->属性->高级系统设置->环境变量

编辑环境变量中的Path值,只需在最后添加D:\Program Setup\VTK2008\binD:\ProgramSetup\CMake 2.8\bin注意每一个路径间使用分号隔开。

7 VTK与Qt的联合测试

7.1 新建一个Qt工程

D:\ProgramSetup\VTK\vtk_bin\bin\Release目录下

QVTKWidgetPlugin.dllQVTKWidgetPlugin.expQVTKWidgetPlugin.lib复制到目录D:\Qt\Qt4\plugins\designer。打开Qt Designer可以发现多一个组件。


注:为什么要编译两遍VTK?因为在debug版本下编译的QVTKWidget打不开,无法使用,只能使用release下的QVTKWidget,所以要编译release版,但写程序必须要调试,VTK的库必须是debug版本的才能正常调试,为此我们编译两次。

接着将下面代码复制到主函数:

#include<QtGui/QApplication>
 
#include<vtkSmartPointer.h>
#include<vtkSphereSource.h>
#include<vtkPolyDataMapper.h>
#include<vtkActor.h>
#include<vtkImageViewer.h>
#include<vtkRenderWindowInteractor.h>
#include<vtkInteractorStyleImage.h>
#include<vtkJPEGReader.h>
#include<vtkRenderer.h>
 
#include<QVTKWidget.h>
 
intmain(intargc,char **argv)
{
	QApplicationapp(argc,argv);
 
	QVTKWidgetwidget;
	widget.resize(256,256);
	//Setupsphere
	vtkSmartPointer<vtkSphereSource>sphereSource=vtkSmartPointer<vtkSphereSource>::New();
	sphereSource->Update();
	vtkSmartPointer<vtkPolyDataMapper>sphereMapper=vtkSmartPointer<vtkPolyDataMapper>::New();
	sphereMapper->SetInputConnection(sphereSource->GetOutputPort());
	vtkSmartPointer<vtkActor>sphereActor= vtkSmartPointer<vtkActor>::New();
	sphereActor->SetMapper(sphereMapper);
	//Setupwindow
	vtkSmartPointer<vtkRenderWindow>renderWindow=vtkSmartPointer<vtkRenderWindow>::New();
	//Setuprenderer
	vtkSmartPointer<vtkRenderer>renderer=vtkSmartPointer<vtkRenderer>::New();
	renderWindow->AddRenderer(renderer);
	renderer->AddActor(sphereActor);
	renderer->ResetCamera();
	widget.SetRenderWindow(renderWindow);
	//mainWindow.setCentralWidget(widget);
 
	//mainWindow.show();
	widget.show();
	app.exec();
	returnEXIT_SUCCESS;
 
}


7.2 库与头文件的添加

1.点击运行,会提示找不到头文件,未定义的库之类的错误。需要添加VTK头文件与库。添加方法如下:

视图>属性管理器->

在Debug或Release中选择Microsoft.Cpp.Win32.user将头文件目录D:\ProgramSetup\VTK2008\include\vtk-5.8添加到包含目录,库文件目录D:\Program Setup\VTK2008\lib\vtk-5.8添加到库目录。


2.点击运行,此时会出现无法解析的外部错误,此时需要在链接器->输入中添加库名称。

3.点击运行,如果出现Cannot find oropen the PDB file”

(a)可以通过工具->选项->调试->符号勾选Microsoft符号服务器,但这样会导致链接速度变慢。

(b)推荐将D:\Program Setup\VTK2008\bin文件夹下的所有dll文件复制到C:\Windows\System32文件加下,这样不会影响链接速度。

4.如果出现“未调试的二进制符号”,说明你可能在使用release版编译,在工程属性中修改为debug就行。

5.最后一次运行


到此VTK与Qt的联合测试结束,VTK安装成功。

 

  • 4
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值