VTK8.0.0编译+QT5.9.2+VS2017

背景

VTK网上资料较多并且使用较多的版本可能是VTK8.2.0,但是由于之前先配置了QT 5.9.2+ msvc2017 + PCL1.8.1 + VTK8.0.0环境,听说有人PCL1.8.1配置VTK8.2.0实测版本不兼容,需修改源码调试,比较麻烦,所以之前就使用的VTK8.0.0版本。

之前配置PCL环境时,因为PCL安装后带的VTK不完整,编译VTK比较麻烦所以当时直接从网上下载的VTK库。现在测试时,发现VTK库在QT Designer中不能生成下面的QVTKWidget控件:

我这里Qt Designer中这样显示的:

因此决定重新编译一下VTK8.0.0测试一下。

编译过程

1、有网友说“VTK_RENDERING_BACKEND设置为OpenGL(这里一定要注意,否则pcl显示框会出错)。”默认是OpenGL2,这个我没有改,后面看会不会出错吧!

2、有网友说“不建议去掉TESTING,这会导致在后期VS编译阶段报错,需要修改头文件。”这个也等着看后面会不会有问题吧!

1、准备工作

首先下载了VTK8.0.0源码(不包含build,build是CMake时后新建的):

CMake下载:

版本cmake-3.28.0-rc2-windows-x86_64,免安装,下载 后找到目录bin文件夹下的cmake-gui.exe打开即可。

2、CMake重新编译VTK8.0.0

打开CMake,设置source code、build the binaries,我这里设置为D:/vtk-v8.0.0,之前新建并设置build目录,这里因为是测试所以新建并设置build_test目录。点击Add Entry添加: 

Name:CMAKE_DEBUG_POSTFIX 、Type:STRING 、Value:-gd、Description:空

让vtk的lib最后分为debug版本跟release版本。Debug版本带-gd。Release版本不带-gd,方便区分。

设置好后如图:

点击左下角的configure按钮,按下面配置后Finish:

第一次configure完成之后:

需要额外勾选上BUILD_EXAMPLES,勾选上VTK_Group_Qt,这样以后方便在qt里面使用

CMAKE_INSTALL_PREFIX存放include,lib,dll(bin)等编译结果的目录。

上面设置好后第二次点击configure,第二次configure完成之后:

出现了这个窗口:

记得第一次CMake时没有出现这个的,算了不管了,接着下面的步骤。

VTK_QT_VERSION改成5。

上面设置好后第三次点击configure,第三次还有报红的:

确认后再次configure,直到最后没有报红项后:

点击Generate:

很快,点击Open Project后VS2017打开项目。

3、VS2017编译

开始64位release编译项目:

编译过程会报错:

该报错是因为CMake中勾选了BUILD_TESTING选项,而CMake的VTK_DATA_ROOT先设置不正确,导致编译时需要先下载vtkdata数据。由于网速或者没有科学上网等原因下载数据的时间 超过了设置的最大等待时间。

解决方法:
下载vtkdata.zip数据,将其解压文件中MD5文件覆盖二进制目录下\ExternalData\Objects\MD5文件。

一遍一遍重新编译,这个文件下载好了,又是相同原因的另一个没有下载下来报错,总是断断续续报错,但是由于VTK-8.0.0版本在网上又找不到对应的vtkdata.zip数据。CMake编译去掉于是去掉BUILD_TESTING选项的勾选重新编译,最后成功。

INSTALL

CMake出来的Visual Studio解决方案里,大多有个INSTALL项目。之前总是完全忽略这个项目,恰好,编译solution的时候,这个又默认被忽略,其实这个很有用。

INSTALL生成后,将会在CMAKE_INSTALL_PREFIX设置的目录下生成下面部分:

VS2017编译成功后将生成的release版本的QVTKWidgetPlugin.dll(有人说QVTKWidgetPlugin.lib、vtkGUISupportQt-8.0.dll、vtkGUISupportQtSQL-8.0.dll也放到目录下)放到以下QT目录下D:\Qt\Qt5.9.2\5.9.2\msvc2017_64\plugins\designer,再打开Qt Designer,这次就出现QVTKWidget了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: vtk8.0.0编译好的库是一个用于可视化和图像处理的开源软件库。这个库是基于C++语言开发的,可以在各种操作系统和各种编译器上使用。在这种情况下,我们假设您是在Windows操作系统上使用Qt 5.9、Visual Studio 2015和PCL 1.8.1来编译和使用vtk8.0.0库。 首先,您需要确保您安装了Qt 5.9,这是一个跨平台的应用程序和UI开发框架。您可以从Qt的官方网站上下载并安装最新版本的Qt 5.9。 接下来,您需要安装Visual Studio 2015,这是一个强大的集成开发环境(IDE),用于编写和调试C++代码。您可以从微软官方网站上下载并安装Visual Studio 2015。 然后,您需要安装PCL 1.8.1,这是一个用于点云处理的开源库。您可以从PCL的官方网站上下载并安装最新版本的PCL 1.8.1。 最后,您需要将vtk8.0.0库与Qt 5.9、Visual Studio 2015和PCL 1.8.1集成在一起。首先,在Visual Studio 2015的项目设置中添加vtk8.0.0的头文件路径和库文件路径。然后,在您的项目代码中包含vtk的头文件,并链接vtk的库文件。 在编译和构建您的项目时,您需要确保选择正确的编译配置,以便使用Qt 5.9、Visual Studio 2015和PCL 1.8.1进行构建。 以上是使用vtk8.0.0库的一般步骤。根据您的具体项目需求,您可能需要进一步的配置和调整。希望这些信息对您有所帮助! ### 回答2: vtk8.0.0编译好的库适用于Qt5.9,VS2015,PCL1.8.1和VTK8.0版本。 首先,vtk8.0.0编译好的库是指已经经过编译,并可用于开发的库文件。该库文件中包含了VTK(Visualization Toolkit,可视化工具包)的功能和特性,可以用于构建和展示3D图像、可视化数据等。 Qt5.9是一个跨平台应用程序开发框架,可以用于创建图形界面和进行应用程序开发vtk8.0.0编译好的库与Qt5.9兼容,因此可以在Qt应用程序中使用该库实现丰富的3D可视化功能。 VS2015是一个开发环境,适用于Windows操作系统。vtk8.0.0编译好的库是基于VS2015编译的,所以可以在该环境下使用该库进行开发。 PCL1.8.1是点云库(Point Cloud Library)的一个版本。vtk8.0.0编译好的库与PCL1.8.1兼容,可以使用该库来处理和可视化点云数据。 综上所述,vtk8.0.0编译好的库适用于Qt5.9,VS2015,PCL1.8.1和VTK8.0版本,可以在这些环境中使用vtk编译好的库开发和展示3D可视化功能。 ### 回答3: vtk8.0.0 编译好的库是基于以下工具和版本编译的:qt5.9、vs2015、pcl1.8.1以及vtk8.0vtk8.0.0是Visualization Toolkit的一个版本,它是一个开源的跨平台的3D图像处理和可视化库。它提供了丰富的功能和工具,用于处理和分析3D数据,并通过高质量的图形输出显示结果。 编译库使用的Qt版本为5.9。Qt是一个跨平台的应用程序开发框架,它提供了一套易于使用的工具和类库,用于开发图形用户界面应用程序。Qt 5.9的使用可以为vtk8.0.0库提供更强的功能和更好的用户体验。 在编译过程中,使用了VS2015作为集成开发环境(IDE)。VS2015是由微软开发的一个功能强大的集成开发环境,用于开发Windows平台上的应用程序。它提供了丰富的开发工具和调试功能,可以方便地进行代码编写和调试。 此外,编译还使用了pcl1.8.1。PCL(Point Cloud Library)是一个开源的用于点云处理的库,它提供了一系列的算法和工具,用于处理和分析点云数据。PCL 1.8.1提供了vtk8.0.0库所需的点云处理功能和支持。 综上所述,vtk8.0.0编译好的库是基于qt5.9、vs2015、pcl1.8.1和vtk8.0的。使用这些工具和库,可以轻松地进行3D图像处理和可视化开发,并获得高质量的结果。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值