如果你像我一样也是小白,那么恭喜你,你找到了一个配置的好教程
首先要明白:PCL1.9.1安装好后,其自带VTK8.1.0库,那为什么还要单独安装VTK呢?是由于预编译的vtk包并没有和qt进行编译得到QVTKWidget控件(该控件用来在qt上进行显示点云),因此需要另外下载VTK-8.1.0(必须是该版本,和pcl1.9.1保持一致,如果你想多尝试,请试试)并和qt联合编译。
这里送上一份大礼包:vtk8.1.0安装包、编译好的vtk8.1.0、编译生成的QVTKWidget控件、属性表,链接
以下如有描述不清楚的地方,可以下载这些仔细查看,包括属性表的设置。另:测试例子的建立参考:https://blog.csdn.net/qq_33676772/article/details/83478255#t4
另:编译好的vtk8.1.0据说可以直接用,我没有试过,你们可以先试试,可以的话就不用花几小时编译了。实际只需要圈起来的东西
目录
1、PCL1.9.1的安装
请看:https://blog.csdn.net/weixin_41991128/article/details/83864713#VS2017PCL190_42
2、VTK8.1.0+QT编译
请看:https://blog.csdn.net/anhec/article/details/86777302
注意1:这里没有必要将vtk8.1安装到pcl自带的vtk里,我的安装文件夹安排如图,
注意2:安装(VTK8.1.0+QT)的时候需要注意这个地方:
对于VTK8.2而言,其CMakelList.txt里第16、17行设置了CMAKE_DEBUG_POSTFIX,但是VTK8.1.0没有,为了区分Debug和Release模式下编译的dll,需要借助cmkae_gui手动设置:点击Add Entry → 添加CMAKE_DEBUG_POSTFIX,Value设置为-d
3、一系列配置
基于上面两部分都配置成功了,进行下一步:
在“PCL1.9.1的安装”部分,建立了的PCL属性表,需要删除和vtk相关的东西,然后另建一个vtk8.1属性表,
最终得到:1个PCL属性表(只包含pcl相关设置)+1个vtk属性表(只包含vtk相关设置)
这里配图我的debug属性表(release属性表类似配置):
PCL的debug属性表:
包含目录:
库目录:
附加依赖项(好像是20个):
VTK的debug属性表:
包含目录:
库目录:
附加依赖项:
4、报错处理1
如报错:
解决:
输入:E:\VTK8.1.0\install\bin(这里是我的路径)
5、报错处理2
如果你没有出现4中的问题,当你切换debug和release模式编译时,会报错:QWidegt Must construct a QApplication,不要慌,这个问题貌似哼正常,这意味着你已经安装成功99.99%了。
解决方法:4中的方法也能解决这个问题。如果不能解决,那就再搜一下。
6、附录:
debug附加依赖:
vtkalglib-8.1_d.lib
vtkChartsCore-8.1_d.lib
vtkCommonColor-8.1_d.lib
vtkCommonComputationalGeometry-8.1_d.lib
vtkCommonCore-8.1_d.lib
vtkCommonDataModel-8.1_d.lib
vtkCommonExecutionModel-8.1_d.lib
vtkCommonMath-8.1_d.lib
vtkCommonMisc-8.1_d.lib
vtkCommonSystem-8.1_d.lib
vtkCommonTransforms-8.1_d.lib
vtkDICOMParser-8.1_d.lib
vtkDomainsChemistry-8.1_d.lib
vtkDomainsChemistryOpenGL2-8.1_d.lib
vtkexoIIc-8.1_d.lib
vtkexpat-8.1_d.lib
vtkFiltersAMR-8.1_d.lib
vtkFiltersCore-8.1_d.lib
vtkFiltersExtraction-8.1_d.lib
vtkFiltersFlowPaths-8.1_d.lib
vtkFiltersGeneral-8.1_d.lib
vtkFiltersGeneric-8.1_d.lib
vtkFiltersGeometry-8.1_d.lib
vtkFiltersHybrid-8.1_d.lib
vtkFiltersHyperTree-8.1_d.lib
vtkFiltersImaging-8.1_d.lib
vtkFiltersModeling-8.1_d.lib
vtkFiltersParallel-8.1_d.lib
vtkFiltersParallelImaging-8.1_d.lib
vtkFiltersPoints-8.1_d.lib
vtkFiltersProgrammable-8.1_d.lib
vtkFiltersSelection-8.1_d.lib
vtkFiltersSMP-8.1_d.lib
vtkFiltersSources-8.1_d.lib
vtkFiltersStatistics-8.1_d.lib
vtkFiltersTexture-8.1_d.lib
vtkFiltersTopology-8.1_d.lib
vtkFiltersVerdict-8.1_d.lib
vtkfreetype-8.1_d.lib
vtkGeovisCore-8.1_d.lib
vtkgl2ps-8.1_d.lib
vtkglew-8.1_d.lib
vtkGUISupportQt-8.1_d.lib
vtkGUISupportQtSQL-8.1_d.lib
vtkhdf5-8.1_d.lib
vtkhdf5_hl-8.1_d.lib
vtkImagingColor-8.1_d.lib
vtkImagingCore-8.1_d.lib
vtkImagingFourier-8.1_d.lib
vtkImagingGeneral-8.1_d.lib
vtkImagingHybrid-8.1_d.lib
vtkImagingMath-8.1_d.lib
vtkImagingMorphological-8.1_d.lib
vtkImagingSources-8.1_d.lib
vtkImagingStatistics-8.1_d.lib
vtkImagingStencil-8.1_d.lib
vtkInfovisCore-8.1_d.lib
vtkInfovisLayout-8.1_d.lib
vtkInteractionImage-8.1_d.lib
vtkInteractionStyle-8.1_d.lib
vtkInteractionWidgets-8.1_d.lib
vtkIOAMR-8.1_d.lib
vtkIOCore-8.1_d.lib
vtkIOEnSight-8.1_d.lib
vtkIOExodus-8.1_d.lib
vtkIOExport-8.1_d.lib
vtkIOExportOpenGL2-8.1_d.lib
vtkIOGeometry-8.1_d.lib
vtkIOImage-8.1_d.lib
vtkIOImport-8.1_d.lib
vtkIOInfovis-8.1_d.lib
vtkIOLegacy-8.1_d.lib
vtkIOLSDyna-8.1_d.lib
vtkIOMINC-8.1_d.lib
vtkIOMovie-8.1_d.lib
vtkIONetCDF-8.1_d.lib
vtkIOParallel-8.1_d.lib
vtkIOParallelXML-8.1_d.lib
vtkIOPLY-8.1_d.lib
vtkIOSQL-8.1_d.lib
vtkIOTecplotTable-8.1_d.lib
vtkIOVideo-8.1_d.lib
vtkIOXML-8.1_d.lib
vtkIOXMLParser-8.1_d.lib
vtkjpeg-8.1_d.lib
vtkjsoncpp-8.1_d.lib
vtklibharu-8.1_d.lib
vtklibxml2-8.1_d.lib
vtklz4-8.1_d.lib
vtkmetaio-8.1_d.lib
vtkNetCDF-8.1_d.lib
vtknetcdfcpp-8.1_d.lib
vtkoggtheora-8.1_d.lib
vtkParallelCore-8.1_d.lib
vtkpng-8.1_d.lib
vtkproj4-8.1_d.lib
vtkRenderingAnnotation-8.1_d.lib
vtkRenderingContext2D-8.1_d.lib
vtkRenderingContextOpenGL2-8.1_d.lib
vtkRenderingCore-8.1_d.lib
vtkRenderingFreeType-8.1_d.lib
vtkRenderingGL2PSOpenGL2-8.1_d.lib
vtkRenderingImage-8.1_d.lib
vtkRenderingLabel-8.1_d.lib
vtkRenderingLOD-8.1_d.lib
vtkRenderingOpenGL2-8.1_d.lib
vtkRenderingQt-8.1_d.lib
vtkRenderingVolume-8.1_d.lib
vtkRenderingVolumeOpenGL2-8.1_d.lib
vtksqlite-8.1_d.lib
vtksys-8.1_d.lib
vtktiff-8.1_d.lib
vtkverdict-8.1_d.lib
vtkViewsContext2D-8.1_d.lib
vtkViewsCore-8.1_d.lib
vtkViewsInfovis-8.1_d.lib
vtkViewsQt-8.1_d.lib
vtkzlib-8.1_d.lib
release附加依赖:
vtkalglib-8.1.lib
vtkChartsCore-8.1.lib
vtkCommonColor-8.1.lib
vtkCommonComputationalGeometry-8.1.lib
vtkCommonCore-8.1.lib
vtkCommonDataModel-8.1.lib
vtkCommonExecutionModel-8.1.lib
vtkCommonMath-8.1.lib
vtkCommonMisc-8.1.lib
vtkCommonSystem-8.1.lib
vtkCommonTransforms-8.1.lib
vtkDICOMParser-8.1.lib
vtkDomainsChemistry-8.1.lib
vtkDomainsChemistryOpenGL2-8.1.lib
vtkexoIIc-8.1.lib
vtkexpat-8.1.lib
vtkFiltersAMR-8.1.lib
vtkFiltersCore-8.1.lib
vtkFiltersExtraction-8.1.lib
vtkFiltersFlowPaths-8.1.lib
vtkFiltersGeneral-8.1.lib
vtkFiltersGeneric-8.1.lib
vtkFiltersGeometry-8.1.lib
vtkFiltersHybrid-8.1.lib
vtkFiltersHyperTree-8.1.lib
vtkFiltersImaging-8.1.lib
vtkFiltersModeling-8.1.lib
vtkFiltersParallel-8.1.lib
vtkFiltersParallelImaging-8.1.lib
vtkFiltersPoints-8.1.lib
vtkFiltersProgrammable-8.1.lib
vtkFiltersSelection-8.1.lib
vtkFiltersSMP-8.1.lib
vtkFiltersSources-8.1.lib
vtkFiltersStatistics-8.1.lib
vtkFiltersTexture-8.1.lib
vtkFiltersTopology-8.1.lib
vtkFiltersVerdict-8.1.lib
vtkfreetype-8.1.lib
vtkGeovisCore-8.1.lib
vtkgl2ps-8.1.lib
vtkglew-8.1.lib
vtkGUISupportQt-8.1.lib
vtkGUISupportQtSQL-8.1.lib
vtkhdf5-8.1.lib
vtkhdf5_hl-8.1.lib
vtkImagingColor-8.1.lib
vtkImagingCore-8.1.lib
vtkImagingFourier-8.1.lib
vtkImagingGeneral-8.1.lib
vtkImagingHybrid-8.1.lib
vtkImagingMath-8.1.lib
vtkImagingMorphological-8.1.lib
vtkImagingSources-8.1.lib
vtkImagingStatistics-8.1.lib
vtkImagingStencil-8.1.lib
vtkInfovisCore-8.1.lib
vtkInfovisLayout-8.1.lib
vtkInteractionImage-8.1.lib
vtkInteractionStyle-8.1.lib
vtkInteractionWidgets-8.1.lib
vtkIOAMR-8.1.lib
vtkIOCore-8.1.lib
vtkIOEnSight-8.1.lib
vtkIOExodus-8.1.lib
vtkIOExport-8.1.lib
vtkIOExportOpenGL2-8.1.lib
vtkIOGeometry-8.1.lib
vtkIOImage-8.1.lib
vtkIOImport-8.1.lib
vtkIOInfovis-8.1.lib
vtkIOLegacy-8.1.lib
vtkIOLSDyna-8.1.lib
vtkIOMINC-8.1.lib
vtkIOMovie-8.1.lib
vtkIONetCDF-8.1.lib
vtkIOParallel-8.1.lib
vtkIOParallelXML-8.1.lib
vtkIOPLY-8.1.lib
vtkIOSQL-8.1.lib
vtkIOTecplotTable-8.1.lib
vtkIOVideo-8.1.lib
vtkIOXML-8.1.lib
vtkIOXMLParser-8.1.lib
vtkjpeg-8.1.lib
vtkjsoncpp-8.1.lib
vtklibharu-8.1.lib
vtklibxml2-8.1.lib
vtklz4-8.1.lib
vtkmetaio-8.1.lib
vtkNetCDF-8.1.lib
vtknetcdfcpp-8.1.lib
vtkoggtheora-8.1.lib
vtkParallelCore-8.1.lib
vtkpng-8.1.lib
vtkproj4-8.1.lib
vtkRenderingAnnotation-8.1.lib
vtkRenderingContext2D-8.1.lib
vtkRenderingContextOpenGL2-8.1.lib
vtkRenderingCore-8.1.lib
vtkRenderingFreeType-8.1.lib
vtkRenderingGL2PSOpenGL2-8.1.lib
vtkRenderingImage-8.1.lib
vtkRenderingLabel-8.1.lib
vtkRenderingLOD-8.1.lib
vtkRenderingOpenGL2-8.1.lib
vtkRenderingQt-8.1.lib
vtkRenderingVolume-8.1.lib
vtkRenderingVolumeOpenGL2-8.1.lib
vtksqlite-8.1.lib
vtksys-8.1.lib
vtktiff-8.1.lib
vtkverdict-8.1.lib
vtkViewsContext2D-8.1.lib
vtkViewsCore-8.1.lib
vtkViewsInfovis-8.1.lib
vtkViewsQt-8.1.lib
vtkzlib-8.1.lib