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

来源:互联网 发布:手机数据上网慢怎么办 编辑:程序博客网 时间:2024/05/21 04:17

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);//SetupspherevtkSmartPointer<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);//SetupwindowvtkSmartPointer<vtkRenderWindow>renderWindow=vtkSmartPointer<vtkRenderWindow>::New();//SetuprenderervtkSmartPointer<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安装成功。

 

原创粉丝点击