前言
安装ros 的时候 会自动安装下载libpcl-1.8 这个版本还算比较新的,虽然但是最新的 pcl 已经发展到了 pcl - 1.12 。
那为什么要用Ros安装时自带的pcl呢? 因为简单方便, 不用再从源码编译新版本,也不用管理什么依赖冲突。 我反正觉得这个东西很烦。。。。。。
提示:以下是本篇文章正文内容,下面案例可供参考
一、CMakeList的编写
cmake_minimum_required(VERSION 3.0.0)
project(find_center)
find_package(PCL REQUIRED)
include_directories( ${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
add_executable(find_center main.cpp)
target_link_libraries (find_center ${PCL_LIBRARIES})
install(TARGETS find_center RUNTIME DESTINATION bin)
示例:不懂cmakelist的先去补习
二、vscode调试
编写好cmakelists之后呢 可以在vscode调试, 写程序的时候可能会报错,找不到相应的函数和头文件。
这时需要编写C++编写的配置
具体操作
- ctrl+P 打开vscode命令行
- 输入C++ 会看到一个配置C++ json的选项,确认
- 在该文件中 能看到 includepath 默认情况下 只有 workpath 即当前目录 检索 头文件。而安装ros的时候 安装下来的pcl 是无法被检索的, 所以 如果 你不想vscode 报错的额话 ,加上pcl 库的地址。 默认情况下, ros安装时安装下来的pcl在这个位置
这个includepath 的意思是 vscode上编写的源代码 会到这些位置,当你 打开库中某些函数的定义的时候会跳转到该位置。
总结
- vscode 在这些位置检索头文件
- 不会报错
那么最后生成可执行文件的时候 电脑是到这些位置寻找相应的头文件来编译吗?不是的。生成执行文件的时候, 电脑是按照CMakelists给的位置 去寻找库。 这里不再细说。
现在可以在vscode使用pcl 而且是ros安装时 自带的pcl1.8
总结
如果学习PCL的话呢 ros安装知道的pcl1.8就够用了 。 可以完成很多任务。
折腾其他版本的pcl 各种依赖包安装容易出问题。 我反正是懒得操弄了。
最后
彦祖,我看你就是一个学习的料 。内心向善的人才能学的好, 你若问我怎样再能内心向善呢?那当然是给的博主一个赞了(≧▽≦)/,O(∩_∩)O哈哈 ~
下次见!
看我干嘛, 快点赞!
如果有帮助到你的话,点个赞吧。遇到什么问题 留言即可。