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


    话不多说,上活

    1.1 为什么要这么做

            项目中有依赖。。。。

    1.2 安装VTK7.1.1 PCL1.8.0

            略

    1.3 移植到ROS

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

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

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

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

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

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

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

            更改环境变量:

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

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

    1. list(APPEND CMAKE_PREFIX_PATH /usr/local/pcl-1.8.0/lib)
    2. 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

    ​​​​​​​

  • 相关阅读:
    某央企下属电子集团组织提升咨询项目成功纪实
    JCMSuite应用-高功率半导体激光器
    函数式编程之递归的几种方式
    智能网联汽车网络安全攻击与防御技术概述
    JUC第二十九讲:JUC工具类: Phaser详解
    华为HCIP题库h12-821题库新增30题
    安全风险 - 检测设备是否为模拟器
    在 Java 中,如何创建泛型对象与泛型数组
    【深度学习】DDPM,Diffusion,概率扩散去噪生成模型,原理解读
    卷积神经网络(CNN)多种图片分类的实现
  • 原文地址:https://blog.csdn.net/qq_41694024/article/details/132951877