PCL1.8.0+QT(MSVC2013)

Onida ·
更新时间:2024-09-21
· 609 次阅读

工具:
PCL1.8.0
Visual Studio 2013(Uitimate)
QT5.9.1(MSVC2013)
CBD debugger(win10SDK)官网下载
若需要在VS中使用QT显示界面还需下载qt-vsaddin-msvc2013-2.2.0.vsix官网下载
环境:
win7旗舰版,64位系统

一、安装工具

VS2013根据提示安装即可,PCL相应安装在另一篇博客中。
建议安装顺序VS、Qt、qt-vsaddin。

1、QT安装:

首先打开安装包,可跳过Qt账户登录

在这里插入图片描述

然后选择QT组件。

编译器选择了MinGW构件和msvc2013 64-bit构件。
在这里插入图片描述
Tools下建议选择MinGW+CDB Debugger。
在这里插入图片描述
“Qt 5.9.1”节点下面是 Qt 的功能模块,包括用于不同编译器和平台的模块,这些模块包括内容如下:

① MinGW 5.3.0 32 bit 编译器模块。MinGW 是 Minimalist GNU for Windows 的缩写,MinGW是 Windows 平台上使用的 GNU 工具集导入库的集合。

② 用于 UWP 编译的模块。UWP 是 Windows 10 中 Universal Windows Platform 的简称,有不同编译器类型的 UWP。

③ 用于 windows 平台上的 MSVC 编译器模块,如 msvc2015 32-bit 和 msvc2015 64-bit 等。要安装 MSVC 编译器的模块,需要计算机上已经安装相应版本的 Visual Studio。

④ 用于 Android 平台的模块,如 Android x86 和 Android ARMv7。

⑤ Sources 模块是 Qt 的源程序。

⑥ Qt Charts 是二维图表模块,用于绘制柱状图、饼图、曲线图等常用二维图表。

⑦ Qt Data Visualization 是三维数据图表模块,用于数据的三维显示,如散点的三维空间分布、三维曲面等。

⑧ Qt Purchasing、Qt WebEngine、Qt Network Auth(TP)等其他模块,括号里的 TP 表示技术预览(Technology Preview)。

⑨ Qt Scritp(Deprecated)是脚本模块,括号里的“Deprecated”表示这是已经过时的模块。
后带有TP的为预展示模块,一般不选择。

“Tools”节点下面是一些工具软件,包括内容如下:
① Qt Creator 4.3.1 是用于 Qt 程序开发的 IDE,强制安装。
② 用于和 CDB 调试工具对接,默认安装,一般用于调试 VC 编译的 Qt 程序。
③ MinGW 5.3.0 是 MinGW 编译工具链。
④ Strawberry Perl 是一个 Perl 语言工具,一般不选择。
最后根据导向一步步操作,完成QT安装。

2、安装CBD(Win10SDK)

由于Qt没有配有msvc的调试器,需要下载Win10SKD。
解压缩镜像文件后,在文件夹内打开winsdksetup.exe,只勾选 Debugging tools for Windows 安装即可。
在这里插入图片描述
在这里插入图片描述

二、QT配置PCL 1、构建msvc套件

首先在工具中打开选项
在这里插入图片描述
接着添加新安装的调试器
在这里插入图片描述
选择安装好的debug tools for windows文件夹下的cbd.exe,并更改调试器名称。
在这里插入图片描述
在构建套件的Desktop Qt5.9.1msv2013中选择刚添加的调试器,完成MSVC2013套件构建。
在这里插入图片描述

2、连接PCL库

在 .pro 文件中添加如下配置

INCLUDEPATH += D:\PCL-1.8\PCL1.8.0\3rdParty\OpenNI2\Include INCLUDEPATH += D:\PCL-1.8\PCL1.8.0\include\pcl-1.8 INCLUDEPATH += D:\PCL-1.8\PCL1.8.0\include\pcl-1.8\pcl INCLUDEPATH += D:\PCL-1.8\PCL1.8.0\3rdParty\Boost\include\boost-1_59 INCLUDEPATH += D:\PCL-1.8\PCL1.8.0\3rdParty\Eigen\eigen3 INCLUDEPATH += D:\PCL-1.8\PCL1.8.0\3rdParty\FLANN\include INCLUDEPATH += D:\PCL-1.8\PCL1.8.0\3rdParty\Qhull\include INCLUDEPATH += D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\include\vtk-7.0 CONFIG(debug,debug | release ){ LIBS += D:\PCL-1.8\PCL1.8.0\lib\pcl_apps_debug.lib\ D:\PCL-1.8\PCL1.8.0\lib\pcl_common_debug.lib\ D:\PCL-1.8\PCL1.8.0\lib\pcl_features_debug.lib\ D:\PCL-1.8\PCL1.8.0\lib\pcl_filters_debug.lib\ D:\PCL-1.8\PCL1.8.0\lib\pcl_io_debug.lib\ D:\PCL-1.8\PCL1.8.0\lib\pcl_io_ply_debug.lib\ D:\PCL-1.8\PCL1.8.0\lib\pcl_kdtree_debug.lib\ D:\PCL-1.8\PCL1.8.0\lib\pcl_keypoints_debug.lib\ D:\PCL-1.8\PCL1.8.0\lib\pcl_ml_debug.lib\ D:\PCL-1.8\PCL1.8.0\lib\pcl_octree_debug.lib\ D:\PCL-1.8\PCL1.8.0\lib\pcl_outofcore_debug.lib\ D:\PCL-1.8\PCL1.8.0\lib\pcl_people_debug.lib\ D:\PCL-1.8\PCL1.8.0\lib\pcl_recognition_debug.lib\ D:\PCL-1.8\PCL1.8.0\lib\pcl_registration_debug.lib\ D:\PCL-1.8\PCL1.8.0\lib\pcl_sample_consensus_debug.lib\ D:\PCL-1.8\PCL1.8.0\lib\pcl_search_debug.lib\ D:\PCL-1.8\PCL1.8.0\lib\pcl_segmentation_debug.lib\ D:\PCL-1.8\PCL1.8.0\lib\pcl_simulation_debug.lib\ D:\PCL-1.8\PCL1.8.0\lib\pcl_stereo_debug.lib\ D:\PCL-1.8\PCL1.8.0\lib\pcl_surface_debug.lib\ D:\PCL-1.8\PCL1.8.0\lib\pcl_tracking_debug.lib\ D:\PCL-1.8\PCL1.8.0\lib\pcl_visualization_debug.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\Boost\lib\libboost_atomic-vc120-mt-gd-1_59.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\Boost\lib\libboost_chrono-vc120-mt-gd-1_59.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\Boost\lib\libboost_container-vc120-mt-gd-1_59.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\Boost\lib\libboost_context-vc120-mt-gd-1_59.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\Boost\lib\libboost_coroutine-vc120-mt-gd-1_59.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\Boost\lib\libboost_date_time-vc120-mt-gd-1_59.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\Boost\lib\libboost_exception-vc120-mt-gd-1_59.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\Boost\lib\libboost_filesystem-vc120-mt-gd-1_59.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\Boost\lib\libboost_graph-vc120-mt-gd-1_59.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\Boost\lib\libboost_iostreams-vc120-mt-gd-1_59.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\Boost\lib\libboost_locale-vc120-mt-gd-1_59.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\Boost\lib\libboost_log_setup-vc120-mt-gd-1_59.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\Boost\lib\libboost_log-vc120-mt-gd-1_59.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\Boost\lib\libboost_math_c99f-vc120-mt-gd-1_59.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\Boost\lib\libboost_math_c99l-vc120-mt-gd-1_59.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\Boost\lib\libboost_math_c99-vc120-mt-gd-1_59.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\Boost\lib\libboost_math_tr1f-vc120-mt-gd-1_59.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\Boost\lib\libboost_math_tr1l-vc120-mt-gd-1_59.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\Boost\lib\libboost_math_tr1-vc120-mt-gd-1_59.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\Boost\lib\libboost_mpi-vc120-mt-gd-1_59.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\Boost\lib\libboost_prg_exec_monitor-vc120-mt-gd-1_59.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\Boost\lib\libboost_program_options-vc120-mt-gd-1_59.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\Boost\lib\libboost_random-vc120-mt-gd-1_59.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\Boost\lib\libboost_regex-vc120-mt-gd-1_59.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\Boost\lib\libboost_serialization-vc120-mt-gd-1_59.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\Boost\lib\libboost_signals-vc120-mt-gd-1_59.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\Boost\lib\libboost_system-vc120-mt-gd-1_59.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\Boost\lib\libboost_test_exec_monitor-vc120-mt-gd-1_59.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\Boost\lib\libboost_thread-vc120-mt-gd-1_59.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\Boost\lib\libboost_timer-vc120-mt-gd-1_59.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\Boost\lib\libboost_unit_test_framework-vc120-mt-gd-1_59.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\Boost\lib\libboost_wave-vc120-mt-gd-1_59.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\Boost\lib\libboost_wserialization-vc120-mt-gd-1_59.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\FLANN\lib\flann_cpp_s-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\FLANN\lib\flann_s-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\FLANN\lib\flann-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\OpenNI2\Lib\OpenNI2.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\Qhull\lib\qhull_p-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\Qhull\lib\qhull_r-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\Qhull\lib\qhullcpp-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\Qhull\lib\qhull-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\Qhull\lib\qhullstatic_r-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\Qhull\lib\qhullstatic-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkalglib-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkChartsCore-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkCommonColor-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkCommonComputationalGeometry-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkCommonCore-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkCommonDataModel-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkCommonExecutionModel-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkCommonMath-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkCommonMisc-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkCommonSystem-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkCommonTransforms-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkDICOMParser-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkDomainsChemistry-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkDomainsChemistryOpenGL2-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkexoIIc-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkexpat-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkFiltersAMR-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkFiltersCore-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkFiltersExtraction-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkFiltersFlowPaths-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkFiltersGeneral-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkFiltersGeneric-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkFiltersGeometry-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkFiltersHybrid-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkFiltersHyperTree-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkFiltersImaging-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkFiltersModeling-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkFiltersParallel-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkFiltersParallelImaging-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkFiltersProgrammable-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkFiltersSelection-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkFiltersSMP-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkFiltersSources-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkFiltersStatistics-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkFiltersTexture-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkFiltersVerdict-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkfreetype-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkGeovisCore-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkglew-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkGUISupportQt-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkGUISupportQtSQL-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkhdf5_hl-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkhdf5-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkImagingColor-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkImagingCore-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkImagingFourier-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkImagingGeneral-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkImagingHybrid-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkImagingMath-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkImagingMorphological-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkImagingSources-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkImagingStatistics-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkImagingStencil-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkInfovisCore-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkInfovisLayout-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkInteractionImage-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkInteractionStyle-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkInteractionWidgets-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkIOAMR-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkIOCore-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkIOEnSight-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkIOExodus-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkIOExport-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkIOGeometry-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkIOImage-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkIOImport-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkIOInfovis-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkIOLegacy-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkIOLSDyna-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkIOMINC-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkIOMovie-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkIONetCDF-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkIOParallel-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkIOParallelXML-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkIOPLY-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkIOSQL-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkIOVideo-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkIOXML-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkIOXMLParser-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkjpeg-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkjsoncpp-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtklibxml2-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkmetaio-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkNetCDF_cxx-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkNetCDF-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkoggtheora-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkParallelCore-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkpng-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkproj4-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkRenderingAnnotation-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkRenderingContext2D-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkRenderingContextOpenGL2-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkRenderingCore-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkRenderingFreeType-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkRenderingImage-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkRenderingLabel-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkRenderingLOD-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkRenderingOpenGL2-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkRenderingQt-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkRenderingVolume-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkRenderingVolumeOpenGL2-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtksqlite-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtksys-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtktiff-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkverdict-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkViewsContext2D-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkViewsCore-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkViewsInfovis-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkViewsQt-7.0-gd.lib\ D:\PCL-1.8\PCL1.8.0\3rdParty\VTK\lib\vtkzlib-7.0-gd.lib } else{} 完成配置

测试代码:

#include #include #include #include int user_data; void viewerOneOff(pcl::visualization::PCLVisualizer& viewer) { viewer.setBackgroundColor(1.0, 0.5, 1.0); pcl::PointXYZ o; o.x = 1.0; o.y = 0; o.z = 0; viewer.addSphere(o, 0.25, "sphere", 0); std::cout << "i only run once" << std::endl; } void viewerPsycho(pcl::visualization::PCLVisualizer& viewer) { static unsigned count = 0; std::stringstream ss; ss << "Once per viewer loop: " << count++; viewer.removeShape("text", 0); viewer.addText(ss.str(), 200, 300, "text", 0); //FIXME: possible race condition here: user_data++; } int main() { pcl::PointCloud::Ptr cloud(new pcl::PointCloud); pcl::io::loadPCDFile("my_point_cloud.pcd", *cloud); pcl::visualization::CloudViewer viewer("Cloud Viewer"); //blocks until the cloud is actually rendered viewer.showCloud(cloud); //use the following functions to get access to the underlying more advanced/powerful //PCLVisualizer //This will only get called once viewer.runOnVisualizationThreadOnce(viewerOneOff); //This will get called once per visualization iteration viewer.runOnVisualizationThread(viewerPsycho); while (!viewer.wasStopped()) { //you can also do cool processing here //FIXME: Note that this is running in a separate thread from viewerPsycho //and you should guard against race conditions yourself... user_data++; } return 0; }

参考文章:
https://blog.csdn.net/qq_34719188/article/details/80601642
https://blog.csdn.net/knaha/article/details/103498141


作者:lyyjay



pcl

需要 登录 后方可回复, 如果你还没有账号请 注册新账号