• Ubuntu18.04下载安装基于使用QT的pcl1.13+vtk8.2,以及卸载


    一、QVTKWidget、QVTKWidget2、QVTKOpenGLWidget、QVTKOpenGLNativeWidget 区别

    1.Qt版本

    Qt5.4以前版本:QVTKWidget2/QVTKWidget。

    Qt5.4以后版本:QVTKOpenGLWidget/QVTKOpenGLWidget。

    2.VTK版本(Qt版本为5.4之后)

    在VTK8.2以前的版本:QVTKOpenGLWidget;
    在VTK8.2及以后的版本里:QVTKOpenGLNativeWidget;

    QVTKWidget:目前了解到的只可显示点云,没有在网上找到显示模型的例子。

    QVTKOpenGLNativeWidget:既可显示点云又可显示模型。

    推荐直接下载pcl1.13+vtk8.2,直接使用QVTKOpenGLNativeWidget,不要像我之前一样看网上大多是vtk7.1+pcl1.9就下载了这个,然后不满足需求了又卸载重新下载高版本。

    二、安装qt

    利用命令安装ubuntu18.04默认支持的qt版本5.9.5,如果需要更高版本,直接去QT官网下载安装包即可。

    依赖

    sudo apt install build-essential

    sudo apt install cmake

    sudo apt install qt5-default qtbase5-dev

    sudo apt install qtcreator

    IDE 文档

    sudo apt install qt5tools-dev qt5tools-dev-tools qt5tools-doc qt5tools-examples 

    版本管理工具

    sudo apt install qtchooser

    二、安装vtk8.2

    官网地址:Download | VTK

    下载8.2版本源码

    解压之后进入到该文件夹下,

    然后按照以下步骤执行:

    其中/usr/lib/qt5/bin/qmake为QT的qmake的安装目录,/usr/lib/x86_64-linux-gnu/cmake为QT中指示CMake在查找包和项目所需库文件时的路径,我的是用系统命令安装的QT,所以目录在系统目录下。如果是下载安装包安装QT可以看自己放置的目录是什么(我看网上大多是qmake在/opt/Qt5.12.9/5.12.9/gcc_64/bin/qmake,cmake在/opt/Qt5.12.9/5.12.9/gcc_64/lib/cmake)。为确保正确在执行之前去相应目录下查看以下是否有qmake和cmake。

    mkdir release
    cd release
    cmake -DVTK_QT_VERSION:STRING=5 \
                  -DQT_QMAKE_EXECUTABLE:PATH=/usr/lib/qt5/bin/qmake \
                  -DVTK_Group_Qt:BOOL=ON \
                  -DCMAKE_PREFIX_PATH:PATH=/usr/lib/x86_64-linux-gnu/cmake  \
                  -DCMAKE_BUILD_TYPE=RELEASE \
                  -DBUILD_SHARED_LIBS:BOOL=ON ..

    make
    sudo make install

    注意:一定要加cmake后的配置项,不加的话不会生成 libQVTKWidgetPlugin.so库。( libQVTKWidgetPlugin.so库只用于在QtCreator设计界面的可拖拽生成控件处添加该控件)

    安装完成之后将QVTKWidget添加到QtCreator ,执行下面命令查找路径

    sudo find / -name libQVTKWidgetPlugin.so

     可以看到目录为:

    /usr/local/plugins/designer/libQVTKWidgetPlugin.so

    将libQVTKWidgetPlugin.so复制到QT的相关库路径下。

    由于我是用命令直接下载的QT,移动到的目录如下:

    /usr/lib/x86_64-linux-gnu/qt5/plugins/designer/

    /usr/lib/x86_64-linux-gnu/qtcreator/plugins/

    如果是下载安装包安装的QT可以看自己放置的目录是什么,网上大多是:

    /opt/Qt5.12.9/5.12.9/gcc_64/plugins/designer/
    /opt/Qt5.12.9/Tools/QtCreator/lib/Qt/plugins/designer/

    以上就安装完成了。

    安装过程中遇到的问题

    问题1

    vtk CMake Error at Rendering/OpenGL2/CMakeLists.txt:154 (message):   X11_Xt_LIB could not be found.  Required for VTK X lib.

    解决:

    sudo apt-get install libxt-dev

    问题2

    CMake Error at /usr/lib/x86_64-linux-gnu/cmake/Qt5/Qt5Config.cmake:26 (find_package):
      Could not find a package configuration file provided by "Qt5X11Extras" with
      any of the following names:

        Qt5X11ExtrasConfig.cmake
        qt5x11extras-config.cmake

      Add the installation prefix of "Qt5X11Extras" to CMAKE_PREFIX_PATH or set
      "Qt5X11Extras_DIR" to a directory containing one of the above files.  If
      "Qt5X11Extras" provides a separate development package or SDK, be sure it
      has been installed.
    Call Stack (most recent call first):
      VTK/GUISupport/Qt/CMakeLists.txt:69 (find_package)

    解决:

    sudo apt install libqt5x11extras5-dev

     问题3

    CMake Error at /usr/lib/x86_64-linux-gnu/cmake/Qt5/Qt5Config.cmake:26 (find_package): Could not find a package configuration file provided by “Qt5UiPlugin” with any of the following names:

    Qt5UiPluginConfig.cmake
    qt5uiplugin-config.cmake
    Add the installation prefix of “Qt5UiPlugin” to CMAKE_PREFIX_PATH or set “Qt5UiPlugin_DIR” to a directory containing one of the above files. If “Qt5UiPlugin” provides a separate development package or SDK, be sure it has been installed.

    解决:

    sudo apt-get install qttools5-dev

    问题4

    CMake Error at CMakeLists.txt:156 (export):
      export EXPORT or TARGETS specifier missing.

    解决:

    把这个地方调整如下:

    if (_vtk_compiletools_targets)
      list(REMOVE_DUPLICATES _vtk_compiletools_targets)
      export(TARGETS ${_vtk_compiletools_targets}
        FILE ${VTK_BINARY_DIR}/VTKCompileToolsConfig.cmake)
      add_dependencies(vtkCompileTools ${_vtk_compiletools_targets})
    endif()
    也就是把156,157行挪到endif中,保存后再来Configure。

    三、安装pcl1.13

    先安装依赖

    sudo apt-get update
    sudo apt-get install git build-essential
    sudo apt-get install cmake cmake-gui
    sudo apt-get install libflann1.9 libflann-dev
    sudo apt-get install libeigen3-dev
    sudo apt-get install libboost-all-dev

      源码地址:https://github.com/PointCloudLibrary/pcl.git

    去git上直接下载1.13.1版本源码,解压之后进入该目录下。

    执行下面命令

    mkdir release
    cd release
    cmake -DCMAKE_BUILD_TYPE=None \
          -DCMAKE_INSTALL_PREFIX=/usr/local \
          -DBUILD_GPU=ON \
          -DBUILD_apps=ON \
          -DBUILD_examples=ON ..
    make
    sudo make install

    以上就安装完成了。到此vtk和pcl就都安装完成了。

    安装成功验证:

    在pcl目录下打开终端,执行命令:

    pcl_viewer 点云文件

    注意:运行该命令时可能会报下面错误

    pcl_viewer: error while loading shared libraries: libvtksys-8.2.so.1: cannot open shared object file: No such file or directory

    原因和解决办法可以查看下面链接

    error while loading shared libraries:-CSDN博客

    四、卸载vtk

    1.利用sudo apt-get install libvtk7.1-qt libvtk7.1 libvtk7-qt-dev安装的依赖

    直接执行命令即可

    sudo apt-get remove libvtk7*

    2.删除库和头文件

    在计算机中查找vtk安装的内容及相应位置,执行命令删除。

    一定要谨慎谨慎再谨慎!!!!确定好之后在删除,sudo命令不可撤回。

    sudo rm -rf /usr/local/include/vtk-8.2/

    sudo rm -f /usr/local/lib/libvtk*-8.2.*

    五、卸载pcl

    在计算机中查找pcl安装的内容及相应位置,然后直接执行命令。

    直接在编译的文件夹下(我的是release)执行卸载命令

    sudo make uninstall

    一定要谨慎谨慎再谨慎!!!!确定好之后在删除,sudo命令不可撤回。

    sudo rm -rf /usr/local/include/pcl-1.9/
    sudo rm -rf /usr/local/share/pcl-1.9/
    sudo rm -rf /usr/local/bin/pcl*
    sudo rm -rf /usr/local/lib/libpcl*

  • 相关阅读:
    云计算概述
    嵌入式C开发关键字的应用技巧
    Nginx、Git、Gitee的介绍及使用
    bestphp‘s revenge/ 安洵杯Babyphp(phpsession题目)
    SpringBoot配置Druid
    Docker进阶:mysql 主从复制、redis集群3主3从【扩缩容案例】
    将已有jar包放进maven仓库
    1688阿里巴巴官方api数据接口采集店铺的所有商品详情店铺管理接入演示案例
    DNS协议、ICMP协议、NAT技术
    vue中使用图像编辑器tui-image-editor(一)
  • 原文地址:https://blog.csdn.net/m0_67254672/article/details/133770844