zoukankan      html  css  js  c++  java
  • 安装PCL(编译方式安装,填平之前的坑)

    编译方式安装PCL

    我的机器环境:

    Ubuntu16.04

    OpenGL1.1

    CUDA10.2

    GPU:RTX2028Ti

    QT5提前安装好了

    因为PCL版本和VTK版本时依赖的关系,不是随意的VTK版本能够匹配随意的PCL版本,而且PCL1.10及其以后是只支持C++14标准的,我是想用c++11标准,而且我的机器是OpenGL1.1

    升级OpenGL网上是没有教程的,所以我选择了最高的支持OpenGL1版本的最新VTK是7.1.1版本。

    1.安装cmake-gui

    sudo apt-get install cmake-gui

    2.安装依赖请看https://www.cnblogs.com/nanmi/p/12858586.html

    安装一些其他依赖,编译这个事就是i需要依赖很多

    sudo apt install libx11-dev libxext-dev libxtst-dev libxrender-dev libxmu-dev libxmuu-dev
    sudo apt install libgl1-mesa-dev libglu1-mesa-dev
    sudo apt install freeglut3-dev libboost-all-dev libeigen3-dev libflann-dev libglew-dev
    sudo apt install libpcap-dev libusb-1.0-0-dev libopenni-dev libopenni2-dev clang-format libqhull-dev

    3.安装metslib

    很老的代码库,metslib-0.5.3应该是最新版本不会再有更新。也是源码编译安装。

    wget https://www.coin-or.org/download/source/metslib/metslib-0.5.3.tgz
    tar xzvf metslib-0.5.3.tgz
    cd metslib-0.5.3
    ./configure
    make -j{线程数}
    sudo make install

    4.安装VTK-7.1.1

    VTK官网下载 ,记得下载7.1.1版本,原因在文章开头解释了,进行编译安装。

    tar xzvf VTK-7.1.1.tar.gz
    cd VTK-7.1.1
    mkdir build && cd build
    ccmake ..

    然后出现配置交互界面,按c键

    配置CMAKE_INSTALL_PREFIX:自定义路径、VTK_Group_Views:ON、VTK_RENDERING_BACKEND:根据你的OpenGL版本选择,查看方式如下面代码、VTK_PYTHON_VERSION:自己系统python版本、QT_VERSION:你的安装过的QT版本

    //test.cpp
    #include <stdio.h>
    #include <GL/glut.h>
    
    int main(int argc, char** argv)
    {
        glutInit(&argc,argv);
        //显示模式初始化
        glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB|GLUT_DEPTH);
        //定义窗口大小
        glutInitWindowSize(300,300);
        //定义窗口位置
        glutInitWindowPosition(100,100);
        //创建窗口
        glutCreateWindow("OpenGL Version");
        const GLubyte* name = glGetString(GL_VENDOR); //返回负责当前OpenGL实现厂商的名字
        const GLubyte* biaoshifu = glGetString(GL_RENDERER); //返回一个渲染器标识符,通常是个硬件平台
        const GLubyte* OpenGLVersion =glGetString(GL_VERSION); //返回当前OpenGL实现的版本号
        //const GLubyte* Extensions  =glGetString(GL_EXTENSIONS);
        const GLubyte* gluVersion= gluGetString(GLU_VERSION); //返回当前GLU工具库版本
        printf("OpenGL实现厂商的名字:%s
    ", name);
        printf("渲染器标识符:%s
    ", biaoshifu);
        printf("OpenGL实现的版本号:%s
    ",OpenGLVersion );
        //printf("OpenGL支持的扩展:%s
    ",Extensions );
        printf("OGLU工具库版本:%s
    ", gluVersion);
        //system("pause");  如果是windows
        return 0;
    }

    然后g++ test.cpp -o test   ->  ./test

    配置好后按c键,然后按g保存并生成

    然后

    make -j{线程数}
    sudo make install

    如果不是安装在系统环境,记得添加环境变量

    5.安装PCL-1.9.1

    下载pcl源码并编译安装。访问pcl的github release页面,这里选择下载最新发布的1.9.1的Source code (tar.gz)。

    tar -xzvf pcl-pcl-1.9.1.tar.gz
    cd pcl-pcl-1.9.1
    mkdir build && cd build
    ccmake ..

    按c键,配置BUILD_global_tests:ON、BUILD_surface_on_nurbs:ON、CMAKE_INSTALL_PREFIX:你的安装路径、VTK_DIR:你的VTK安装路径/lib/cmake/vtk-7.1

    再次按c键,再按g键保存并生成makefile

    然后

    make -j{你的机器支持的最大线程数}
    sudo make install

    ok!安装完成

  • 相关阅读:
    微人事项目-mybatis-持久层
    通过外键连接多个表
    springioc
    Redis 消息中间件 ServiceStack.Redis 轻量级
    深度数据对接 链接服务器 数据传输
    sqlserver 抓取所有执行语句 SQL语句分析 死锁 抓取
    sqlserver 索引优化 CPU占用过高 执行分析 服务器检查
    sql server 远程备份 bak 删除
    冒泡排序
    多线程 异步 beginInvoke EndInvoke 使用
  • 原文地址:https://www.cnblogs.com/nanmi/p/12918963.html
Copyright © 2011-2022 走看看