C++源码pcl1.13.0库编译环境搭建及配置

Pcl github库

https://github.com/PointCloudLibrary/pcl

官网地址

https://pointclouds.org/

Pcl exe的下载地址,各个版本,以及各版本对应的源码

https://github.com/PointCloudLibrary/pcl/releases

源码需要编译,编译之前安装AllInOne的exe程序(备注:对应的vtk是9.2版本)

C++源码pcl1.13.0库编译环境搭建及配置_第1张图片

拷贝对应的PDB压缩包解压后的PDB文件,到你PCL安装路径下的bin文件夹,本人路径C:\pcl13\PCL1.13.0\bin。就是里面有pcl开头的.dll文件的那个文件夹。

编辑系统变量Path

添加如下:

C:\pcl13\PCL1.13.0\bin;

C:\pcl13\PCL1.13.0\3rdParty\FLANN\bin;

C:\pcl13\PCL1.13.0\3rdParty\Qhull\bin;

C:\pcl13\PCL1.13.0\3rdParty\VTK\bin

C:\Program Files\OpenNI2\Tools;

C++源码pcl1.13.0库编译环境搭建及配置_第2张图片

上面配置完成后,点击pcl--bin下面的exe不报错就表示配置成功了

(备注:不配置的时候会报错误“xxxx.dll找不到”)

然后cmake编译pcl的源码,报下面的错误

C++源码pcl1.13.0库编译环境搭建及配置_第3张图片
CMake Error at E:/cmake-3.26.0-rc5-windows-x86_64/share/cmake-3.26/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find Boost (missing: Boost_INCLUDE_DIR filesystem date_time
iostreams system) (Required is at least version "1.65.0")
Call Stack (most recent call first):
E:/cmake-3.26.0-rc5-windows-x86_64/share/cmake-3.26/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
E:/cmake-3.26.0-rc5-windows-x86_64/share/cmake-3.26/Modules/FindBoost.cmake:2377 (find_package_handle_standard_args)
cmake/pcl_find_boost.cmake:30 (find_package)
CMakeLists.txt:412 (include)

上面的错误需要指定一下eigen的路径见下图

需要加入3个entry

BOOST_ROOT

设定为:C:\Program Files\PCL1.13.0\3rdParty\Boost(此路径为PCL-1.13.0-AllInOne-msvc2022-win64.exe的安装路径)

BOOST_INCLUDEDIR

设定为:C:\Program Files\PCL1.13.0\3rdParty\Boost\include

BOOST_LIBRARYDIR

设定为:C:\Program Files\PCL1.13.0\3rdParty\Boost\lib

再次点击configure就可以过去了

C++源码pcl1.13.0库编译环境搭建及配置_第4张图片
C++源码pcl1.13.0库编译环境搭建及配置_第5张图片

上面没问题后,即可生成sln解决方案,用vs2022打开

点击解决方案“重新生成”然后“生成”

108>pcl_obj_rec_ransac_hash_table.vcxproj -> F:\pcl13sourcebuild\bin\pcl_obj_rec_ransac_hash_tabled.exe
108>已完成生成项目“pcl_obj_rec_ransac_hash_table.vcxproj”的操作。
113>------ 已启动全部重新生成: 项目: pcl_compute_cloud_error, 配置: Debug x64 ------
113>1>Building Custom Rule F:/pcl13source/pcl/tools/CMakeLists.txt
112>boundary_estimation.cpp
113>compute_cloud_error.cpp
109>pcl_obj_rec_ransac_accepted_hypotheses.vcxproj -> F:\pcl13sourcebuild\bin\pcl_obj_rec_ransac_accepted_hypothesesd.exe
109>已完成生成项目“pcl_obj_rec_ransac_accepted_hypotheses.vcxproj”的操作。
114>------ 已启动全部重新生成: 项目: pcl_add_gaussian_noise, 配置: Debug x64 ------
114>1>Building Custom Rule F:/pcl13source/pcl/tools/CMakeLists.txt
114>add_gaussian_noise.cpp
112>pcl_boundary_estimation.vcxproj -> F:\pcl13sourcebuild\bin\pcl_boundary_estimationd.exe
111>pcl_linemod_detection.vcxproj -> F:\pcl13sourcebuild\bin\pcl_linemod_detectiond.exe
113>pcl_compute_cloud_error.vcxproj -> F:\pcl13sourcebuild\bin\pcl_compute_cloud_errord.exe
114>pcl_add_gaussian_noise.vcxproj -> F:\pcl13sourcebuild\bin\pcl_add_gaussian_noised.exe
115>------ 已跳过全部重新生成: 项目: TOOLS_BUILD, 配置: Debug x64 ------
115>没有为此解决方案配置选中要生成的项目 
116>------ 已启动全部重新生成: 项目: ALL_BUILD, 配置: Debug x64 ------
116>1>Building Custom Rule F:/pcl13source/pcl/CMakeLists.txt
117>------ 已跳过全部重新生成: 项目: PACKAGE, 配置: Debug x64 ------
117>没有为此解决方案配置选中要生成的项目 
118>------ 已跳过全部重新生成: 项目: INSTALL, 配置: Debug x64 ------
118>没有为此解决方案配置选中要生成的项目 
========== “全部重新生成”: 114 成功,0 失败,4已跳过 ==========
C++源码pcl1.13.0库编译环境搭建及配置_第6张图片
C++源码pcl1.13.0库编译环境搭建及配置_第7张图片

得到的下面四个文件,就是编译c++文件时候需要引用的配置文件了

C++源码pcl1.13.0库编译环境搭建及配置_第8张图片

你可能感兴趣的:(pcl,pcl,人工智能,机器视觉,3d点云工具,C++)