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

学习SLAM:SLAM进阶(十)暴力更改ROS中的PCL库

话不多说,上活

1.1 为什么要这么做

        项目中有依赖。。。。

1.2 安装VTK7.1.1 PCL1.8.0

        略

1.3 移植到ROS

        删除ROS依赖的vtk6.2和PCL1.8.0的动态链接库:

liugongwei@ubuntu:~$ sudo mv /usr/lib/x86_64-linux-gnu/libvtk* Desktop/lib/
[sudo] password for liugongwei: 
liugongwei@ubuntu:~$ sudo mv /usr/lib/x86_64-linux-gnu/libpcl* Desktop/lib/

        可以看到,所有有关的PCL库文件已经被移动到桌面了。。。。

        然后编译我们的vtk7.1.1和PCL1.8.0:

        将这些动态链接库文件拷贝到/usr/lib中。。。。

liugongwei@ubuntu:~$ sudo cp /usr/local/lib/libpcl* /usr/lib/x86_64-linux-gnu/
[sudo] password for liugongwei: 
liugongwei@ubuntu:~$ sudo cp /usr/local/lib/libvtk* /usr/lib/x86_64-linux-gnu/

        发现项目链接错误,因为ROS的PCL是vtk6.3嘛:

        更改环境变量:

export PCL_HOME=/usr/local/pcl-1.8.0
export PATH=$PATH:$PCL_HOME/bin 
export LD_LIBRARY_PATH=$PCL_HOME/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}

        更改项目动态链接库指向:

list(APPEND CMAKE_PREFIX_PATH /usr/local/pcl-1.8.0/lib)
include_directories("/usr/local/pcl-1.8.0/include/pcl-1.8")

        编译,还是没法重新指向

        删除二进制文件:

        删除头文件:

        liugongwei@ubuntu:/usr$ sudo mv include/pcl-1.8/ /home/liugongwei/Desktop/        

        拷贝头文件:

        liugongwei@ubuntu:/usr$ sudo cp -r /usr/local/pcl-1.8.0/include/ /usr/include/

        拷贝二进制文件:

        liugongwei@ubuntu:/usr$ sudo cp -r /usr/local/pcl-1.8.0/bin/ /usr/bin/        

        编译,发现缺少这个,原来是我们文件夹名起错了。。。。。

        改个名字:

liugongwei@ubuntu:~/Desktop/bag/catkin_l$ sudo cp -r /usr/local/include/pcl-1.8/ /usr/include/
liugongwei@ubuntu:~/Desktop/bag/catkin_l$ sudo mv /usr/include/pcl-1.8/ /usr/include/pcl-1.8.0

        再次报错。。。把VTK也移过来吧。。。

liugongwei@ubuntu:~/Desktop/bag/VTK-7.1.1/build$ sudo mv /usr/local/include/vtk-7.1/ /usr/include/
        最后再把vtk的include目录和lib内容移回去就OK,成功跑通。

        看到项目链接到了pcl1.8.0,但是为了保证pcl_conversation存在,我们还需要重新建立文件夹。

        我们编辑这个文件:sudo gedit /opt/ros/melodic/share/pcl_conversions/cmake/pcl_conversionsConfig.cmake

​​​​​​​

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

相关文章:

  • js 事件流、事件冒泡、事件捕获、阻止事件的传播
  • 一家美国公司被黑,一个拉美国家政务服务瘫痪
  • c++ QT 十八位时间戳转换
  • 全国职业技能大赛云计算--高职组赛题卷④(容器云)
  • 【TCP】延时应答 与 捎带应答
  • URL与URI小结
  • QT--day5
  • 在windows和linux上玩转Tensorrt
  • 七天学会C语言-第五天(函数)
  • 340. 至多包含 K 个不同字符的最长子串
  • 【分布式计算】副本数据Replicated Data
  • erlang练习题(二)
  • CRM软件系统价格不同的原因
  • json数据解析
  • Verilog零基础入门(边看边练与测试仿真)-状态机-笔记(7-10讲)
  • 【Hadoop】HDFS API 操作大全
  • Webpack打包图片
  • DipC 构建基因组 3D 结构(学习笔记)
  • Qt中音频的使用
  • [centos]centos7源码编译cmake报错Could NOT find OpenSSL
  • vue若依前端项目搭建
  • 基于win32实现TB登陆滑动验证
  • vue学习-07todoList案例与浏览器本地存储
  • 探索智能应用的基石:多模态大模型赋能文档图像处理
  • 自动化发布npm包小记
  • 详解机器视觉性能指标相关概念——混淆矩阵、IoU、ROC曲线、mAP等
  • 想要精通算法和SQL的成长之路 - 预测赢家
  • 高精度PWM脉宽调制信号转模拟信号隔离变送器1Hz~10KHz转0-5V/0-10V/1-5V/0-10mA/0-20mA/4-20mA
  • Vue路由和Node.js环境搭建
  • 【Vue】使用vue-cli搭建SPA项目的路由,嵌套路由