PCL1.8.1+QT5.14.2环境配置

本文详细介绍了如何在Windows上配置PCL1.8.1与QT5.14.2的联合开发环境,包括PCL的安装路径选择、OpenNI2的处理、VTK的替换以及QT中的相关配置文件(pcl.pri)设置。同时,提供了环境变量配置和所需库文件的链接,确保了调试和发布模式下的正确链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PCL1.8.1+QT5.14.2环境配置

PCL1.8.1安装

双击pcl安装包按照安装向导进行安装:
在这里插入图片描述
安装过程中注意以下四点:

  1. pcl与QT进行联合开发的情况下,QT因为不支持带中文和空格的路径,因此将pcl安装再C盘下,对应路径如下图所示:
    在这里插入图片描述
  2. 安装过程中需要将OPENNI2安装到目录C:\PCL1.8.1\3rdParty\OpenNI2。在OpenNI2安装时会提示文件路径过长,此时点击确认即可。
    在这里插入图片描述
  3. pcl与QT进行联合开发的情况下,原来的VTK不能用了,需要替换。将原来C:\PCL1.8.1\3rdParty\VTK目录下的文件替换成自己编译好的VTK文件,并且将C:\PCL1.8.1\3rdParty\VTK\plugins\designer下的两个插件,复制到QT目录下E:\Qt\Qt5.14.2\5.14.2\msvc2017_64\plugins\designer。
    这里贴一个我用的VTK资源:
    链接:https://pan.baidu.com/s/1DtsExncY5xzuMUChnzkOUQ
    提取码:cb2x

    替换了的VTK目录

在这里插入图片描述在这里插入图片描述4. 最后还需配置pcl对应的环境变量:
在这里插入图片描述

QT中的相关配置

新建一个pcl.pri文件,再pro文件中添加如下一句话:

include($$PWD/pcl.pri)

pcl.pri文件中的内容为:

INCLUDEPATH += C:\PCL1.8.1\include\pcl-1.8

INCLUDEPATH += C:\PCL1.8.1\include\pcl-1.8\pcl

INCLUDEPATH += C:\PCL1.8.1\3rdParty\Boost\include\boost-1_64

INCLUDEPATH += C:\PCL1.8.1\3rdParty\Boost\include\boost-1_64\boost

INCLUDEPATH += C:\PCL1.8.1\3rdParty\Eigen\eigen3

INCLUDEPATH += C:\PCL1.8.1\3rdParty\FLANN\include

INCLUDEPATH += C:\PCL1.8.1\3rdParty\FLANN\include\flann

INCLUDEPATH += C:\PCL1.8.1\3rdParty\OpenNI2\Include

INCLUDEPATH += C:\PCL1.8.1\3rdParty\Qhull\include

INCLUDEPATH += C:\PCL1.8.1\3rdParty\VTK\include\vtk-8.0


CONFIG(debug,debug|release){


LIBS += -LC:\PCL1.8.1\lib\
        -lpcl_common_debug\
        -lpcl_features_debug\
        -lpcl_filters_debug\
        -lpcl_io_debug\
        -lpcl_io_ply_debug\
        -lpcl_kdtree_debug\
        -lpcl_keypoints_debug\
        -lpcl_ml_debug\
        -lpcl_octree_debug\
        -lpcl_outofcore_debug\
        -lpcl_people_debug\
        -lpcl_recognition_debug\
        -lpcl_registration_debug\
        -lpcl_sample_consensus_debug\
        -lpcl_search_debug\
        -lpcl_segmentation_debug\
        -lpcl_stereo_debug\
        -lpcl_surface_debug\
        -lpcl_tracking_debug\
        -lpcl_visualization_debug

LIBS += -LC:\PCL1.8.1\3rdParty\Boost\lib\
        -llibboost_atomic-vc141-mt-gd-1_64\
        -llibboost_bzip2-vc141-mt-gd-1_64\
        -llibboost_chrono-vc141-mt-gd-1_64\
        -llibboost_container-vc141-mt-gd-1_64\
        -llibboost_context-vc141-mt-gd-1_64\
        -llibboost_coroutine-vc141-mt-gd-1_64\
        -llibboost_date_time-vc141-mt-gd-1_64\
        -llibboost_exception-vc141-mt-gd-1_64\
        -llibboost_fiber-vc141-mt-gd-1_64\
        -llibboost_filesystem-vc141-mt-gd-1_64\
        -llibboost_graph-vc141-mt-gd-1_64\
        -llibboost_graph_parallel-vc141-mt-gd-1_64\
        -llibboost_iostreams-vc141-mt-gd-1_64\
        -llibboost_locale-vc141-mt-gd-1_64\
        -llibboost_log-vc141-mt-gd-1_64\
        -llibboost_log_setup-vc141-mt-gd-1_64\
        -llibboost_math_c99-vc141-mt-gd-1_64\
        -llibboost_math_c99f-vc141-mt-gd-1_64\
        -llibboost_math_c99l-vc141-mt-gd-1_64\
        -llibboost_math_tr1-vc141-mt-gd-1_64\
        -llibboost_math_tr1f-vc141-mt-gd-1_64\
        -llibboost_math_tr1l-vc141-mt-gd-1_64\
        -llibboost_mpi-vc141-mt-gd-1_64\
        -llibboost_numpy-vc141-mt-gd-1_64\
        -llibboost_numpy3-vc141-mt-gd-1_64\
        -llibboost_prg_exec_monitor-vc141-mt-gd-1_64\
        -llibboost_program_options-vc141-mt-gd-1_64\
        -llibboost_python-vc141-mt-gd-1_64\
        -llibboost_python3-vc141-mt-gd-1_64\
        -llibboost_random-vc141-mt-gd-1_64\
        -llibboost_regex-vc141-mt-gd-1_64\
        -llibboost_serialization-vc141-mt-gd-1_64\
        -llibboost_signals-vc141-mt-gd-1_64\
        -llibboost_system-vc141-mt-gd-1_64\
        -llibboost_test_exec_monitor-vc141-mt-gd-1_64\
        -llibboost_thread-vc141-mt-gd-1_64\
        -llibboost_timer-vc141-mt-gd-1_64\
        -llibboost_type_erasure-vc141-mt-gd-1_64\
        -llibboost_unit_test_framework-vc141-mt-gd-1_64\
        -llibboost_wave-vc141-mt-gd-1_64\
        -llibboost_wserialization-vc141-mt-gd-1_64\
        -llibboost_zlib-vc141-mt-gd-1_64

LIBS += -LC:\PCL1.8.1\3rdParty\FLANN\lib\
        -lflann-gd\
        -lflann_cpp-gd\
        -lflann_cpp_s-gd\
        -lflann_s-gd

LIBS += -LC:\PCL1.8.1\3rdParty\OpenNI2\Lib\
        -lOpenNI2

LIBS += -LC:\PCL1.8.1\3rdParty\Qhull\lib\
        -lqhull_d\
        -lqhullcpp_d\
        -lqhullstatic_d\
        -lqhullstatic_r_d\
        -lqhull_p_d\
        -lqhull_r_d

LIBS += -LC:\PCL1.8.1\3rdParty\VTK\lib\
        -lvtkalglib-8.0-gd\
        -lvtkChartsCore-8.0-gd\
        -lvtkCommonColor-8.0-gd\
        -lvtkCommonComputationalGeometry-8.0-gd\
        -lvtkCommonCore-8.0-gd\
        -lvtkCommonDataModel-8.0-gd\
        -lvtkCommonExecutionModel-8.0-gd\
        -lvtkCommonMath-8.0-gd\
        -lvtkCommonMisc-8.0-gd\
        -lvtkCommonSystem-8.0-gd\
        -lvtkCommonTransforms-8.0-gd\
        -lvtkDICOMParser-8.0-gd\
        -lvtkDomainsChemistry-8.0-gd\
        -lvtkexoIIc-8.0-gd\
        -lvtkexpat-8.0-gd\
        -lvtkFiltersAMR-8.0-gd\
        -lvtkFiltersCore-8.0-gd\
        -lvtkFiltersExtraction-8.0-gd\
        -lvtkFiltersFlowPaths-8.0-gd\
        -lvtkFiltersGeneral-8.0-gd\
        -lvtkFiltersGeneric-8.0-gd\
        -lvtkFiltersGeometry-8.0-gd\
        -lvtkFiltersHybrid-8.0-gd\
        -lvtkFiltersHyperTree-8.0-gd\
        -lvtkFiltersImaging-8.0-gd\
        -lvtkFiltersModeling-8.0-gd\
        -lvtkFiltersParallel-8.0-gd\
        -lvtkFiltersParallelImaging-8.0-gd\
        -lvtkFiltersPoints-8.0-gd\
        -lvtkFiltersProgrammable-8.0-gd\
        -lvtkFiltersSelection-8.0-gd\
        -lvtkFiltersSMP-8.0-gd\
        -lvtkFiltersSources-8.0-gd\
        -lvtkFiltersStatistics-8.0-gd\
        -lvtkFiltersTexture-8.0-gd\
        -lvtkFiltersTopology-8.0-gd\
        -lvtkFiltersVerdict-8.0-gd\
        -lvtkfreetype-8.0-gd\
        -lvtkGeovisCore-8.0-gd\
        -lvtkgl2ps-8.0-gd\
        -lvtkGUISupportQt-8.0-gd\
        -lvtkGUISupportQtOpenGL-8.0-gd\
        -lvtkGUISupportQtSQL-8.0-gd\
        -lvtkhdf5-8.0-gd\
        -lvtkhdf5_hl-8.0-gd\
        -lvtkImagingColor-8.0-gd\
        -lvtkImagingCore-8.0-gd\
        -lvtkImagingFourier-8.0-gd\
        -lvtkImagingGeneral-8.0-gd\
        -lvtkImagingHybrid-8.0-gd\
        -lvtkImagingMath-8.0-gd\
        -lvtkImagingMorphological-8.0-gd\
        -lvtkImagingSources-8.0-gd\
        -lvtkImagingStatistics-8.0-gd\
        -lvtkImagingStencil-8.0-gd\
        -lvtkInfovisCore-8.0-gd\
        -lvtkInfovisLayout-8.0-gd\
        -lvtkInteractionImage-8.0-gd\
        -lvtkInteractionStyle-8.0-gd\
        -lvtkInteractionWidgets-8.0-gd\
        -lvtkIOAMR-8.0-gd\
        -lvtkIOCore-8.0-gd\
        -lvtkIOEnSight-8.0-gd\
        -lvtkIOExodus-8.0-gd\
        -lvtkIOExport-8.0-gd\
        -lvtkIOExportOpenGL-8.0-gd\
        -lvtkIOGeometry-8.0-gd\
        -lvtkIOImage-8.0-gd\
        -lvtkIOImport-8.0-gd\
        -lvtkIOInfovis-8.0-gd\
        -lvtkIOLegacy-8.0-gd\
        -lvtkIOLSDyna-8.0-gd\
        -lvtkIOMINC-8.0-gd\
        -lvtkIOMovie-8.0-gd\
        -lvtkIONetCDF-8.0-gd\
        -lvtkIOParallel-8.0-gd\
        -lvtkIOParallelXML-8.0-gd\
        -lvtkIOPLY-8.0-gd\
        -lvtkIOSQL-8.0-gd\
        -lvtkIOTecplotTable-8.0-gd\
        -lvtkIOVideo-8.0-gd\
        -lvtkIOXML-8.0-gd\
        -lvtkIOXMLParser-8.0-gd\
        -lvtkjpeg-8.0-gd\
        -lvtkjsoncpp-8.0-gd\
        -lvtklibharu-8.0-gd\
        -lvtklibxml2-8.0-gd\
        -lvtklz4-8.0-gd\
        -lvtkmetaio-8.0-gd\
        -lvtkNetCDF-8.0-gd\
        -lvtknetcdf_c++-gd\
        -lvtkoggtheora-8.0-gd\
        -lvtkParallelCore-8.0-gd\
        -lvtkpng-8.0-gd\
        -lvtkproj4-8.0-gd\
        -lvtkRenderingAnnotation-8.0-gd\
        -lvtkRenderingContext2D-8.0-gd\
        -lvtkRenderingContextOpenGL-8.0-gd\
        -lvtkRenderingCore-8.0-gd\
        -lvtkRenderingFreeType-8.0-gd\
        -lvtkRenderingGL2PS-8.0-gd\
        -lvtkRenderingImage-8.0-gd\
        -lvtkRenderingLabel-8.0-gd\
        -lvtkRenderingLIC-8.0-gd\
        -lvtkRenderingLOD-8.0-gd\
        -lvtkRenderingOpenGL-8.0-gd\
        -lvtkRenderingQt-8.0-gd\
        -lvtkRenderingVolume-8.0-gd\
        -lvtkRenderingVolumeOpenGL-8.0-gd\
        -lvtksqlite-8.0-gd\
        -lvtksys-8.0-gd\
        -lvtktiff-8.0-gd\
        -lvtkverdict-8.0-gd\
        -lvtkViewsContext2D-8.0-gd\
        -lvtkViewsCore-8.0-gd\
        -lvtkViewsInfovis-8.0-gd\
        -lvtkViewsQt-8.0-gd\
        -lvtkzlib-8.0-gd\
} else {
LIBS += -LC:\PCL1.8.1\lib\
        -lpcl_common_release\
        -lpcl_features_release\
        -lpcl_filters_release\
        -lpcl_io_ply_release\
        -lpcl_io_release\
        -lpcl_kdtree_release\
        -lpcl_keypoints_release\
        -lpcl_ml_release\
        -lpcl_octree_release\
        -lpcl_outofcore_release\
        -lpcl_people_release\
        -lpcl_recognition_release\
        -lpcl_registration_release\
        -lpcl_sample_consensus_release\
        -lpcl_search_release\
        -lpcl_segmentation_release\
        -lpcl_stereo_release\
        -lpcl_surface_release\
        -lpcl_tracking_release\
        -lpcl_visualization_release

LIBS += -LC:\PCL1.8.1\3rdParty\Boost\lib\
        -llibboost_atomic-vc141-mt-1_64\
        -llibboost_bzip2-vc141-mt-1_64\
        -llibboost_chrono-vc141-mt-1_64\
        -llibboost_container-vc141-mt-1_64\
        -llibboost_context-vc141-mt-1_64\
        -llibboost_coroutine-vc141-mt-1_64\
        -llibboost_date_time-vc141-mt-1_64\
        -llibboost_exception-vc141-mt-1_64\
        -llibboost_fiber-vc141-mt-1_64\
        -llibboost_filesystem-vc141-mt-1_64\
        -llibboost_graph-vc141-mt-1_64\
        -llibboost_graph_parallel-vc141-mt-1_64\
        -llibboost_iostreams-vc141-mt-1_64\
        -llibboost_locale-vc141-mt-1_64\
        -llibboost_log-vc141-mt-1_64\
        -llibboost_log_setup-vc141-mt-1_64\
        -llibboost_math_c99-vc141-mt-1_64\
        -llibboost_math_c99f-vc141-mt-1_64\
        -llibboost_math_c99l-vc141-mt-1_64\
        -llibboost_math_tr1-vc141-mt-1_64\
        -llibboost_math_tr1f-vc141-mt-1_64\
        -llibboost_math_tr1l-vc141-mt-1_64\
        -llibboost_mpi-vc141-mt-1_64\
        -llibboost_numpy-vc141-mt-1_64\
        -llibboost_numpy3-vc141-mt-1_64\
        -llibboost_prg_exec_monitor-vc141-mt-1_64\
        -llibboost_program_options-vc141-mt-1_64\
        -llibboost_python-vc141-mt-1_64\
        -llibboost_python3-vc141-mt-1_64\
        -llibboost_random-vc141-mt-1_64\
        -llibboost_regex-vc141-mt-1_64\
        -llibboost_serialization-vc141-mt-1_64\
        -llibboost_signals-vc141-mt-1_64\
        -llibboost_system-vc141-mt-1_64\
        -llibboost_test_exec_monitor-vc141-mt-1_64\
        -llibboost_thread-vc141-mt-1_64\
        -llibboost_timer-vc141-mt-1_64\
        -llibboost_type_erasure-vc141-mt-1_64\
        -llibboost_unit_test_framework-vc141-mt-1_64\
        -llibboost_wave-vc141-mt-1_64\
        -llibboost_wserialization-vc141-mt-1_64\
        -llibboost_zlib-vc141-mt-1_64

LIBS += -LC:\PCL1.8.1\3rdParty\FLANN\lib\
        -lflann\
        -lflann_cpp\
        -lflann_cpp_s\
        -lflann_s

LIBS += -LC:\PCL1.8.1\3rdParty\Lib\
        -lOpenNI2

LIBS += -LC:\PCL1.8.1\3rdParty\Qhull\lib\
        -lqhull\
        -lqhullcpp\
        -lqhullstatic\
        -lqhullstatic_r\
        -lqhull_p\
        -lqhull_r

LIBS += -LC:\PCL1.8.1\3rdParty\VTK\lib\
        
}

特别的QT中几个需要设置的地方:

  1. 帮助–>关于插件–>C++ -->ClangCodeModel的勾去掉。
    在这里插入图片描述
    3.工具–>选项–>文本编辑器 -->行为,更改编码格式为GB:
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值