当前位置: 首页 > news >正文

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版本)

拷贝对应的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;

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

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

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

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就可以过去了

上面没问题后,即可生成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++文件时候需要引用的配置文件了

http://www.lryc.cn/news/34855.html

相关文章:

  • Idea工具单工程使用卡顿设置
  • Android 9.0 Camera2退出时屏幕旋转为横屏
  • 【云原生】rancher2.6部署MySQL—2023.03
  • 行测-判断推理-图形推理-样式规律-空间重构-立体拼合
  • 细说蛮力法(一)
  • 关于推荐系统的详细介绍
  • leetCode刷题笔记
  • 数学小课堂:数学和哲学的互动关系(自洽的哲学思想受益于数学思维)
  • 大聪明教你学Java | 带你了解 Redis 的三种集群模式
  • Java中异常(异常的处理方式(JVM默认的处理方式、自己处理(灵魂四问)、抛出异常(throws、throw))、异常中的常见方法、小练习、自定义异常)
  • 液氮恒温器概述
  • Shiro核心——Realm
  • 开发钉钉微应用,实现免登+调试
  • 0308java基础-注解,反射
  • 【鸿蒙应用ArkTS开发系列】- 页面跳转及传参
  • StringBuilder 类
  • kubectl-k8s用户切换
  • 【面试题】三道面试题让你掌握JavaScript中的执行上下文与作用域以及闭包
  • 计算机网络-- 应用层(day08)
  • English Learning - L2-5 英音地道语音语调 弹力双元音 [ɪə] [ʊə] [eə] 2023.03.6 周一
  • SpringBoot——统一功能处理
  • ORACLE SQL格式化小数点
  • 【信息学奥数】—— 第一部分 C++语言 知识总结
  • video层级过高,以及界面使用多个video时,在安卓APP上同时播放的问题(uniapp)
  • C++基础了解-14-C++ 字符串
  • 浅谈几种网络攻击及攻防原理
  • Kafka消息中间件(Kafka与MQTT区别)
  • Go垃圾回收原理
  • Coredump-N: stack 空间被临时变量吃满,导致内存访问出现问题
  • GO中使用viper读取配置文件