安装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版本。

安装cmake

sudo apt-get install cmake

安装依赖

请参考https://www.cnblogs.com/nanmi/p/12858586.html

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

安装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

安装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
cmake .. -DCMAKE_INSTALL_PREFIX={你的安装路径} -DVTK_Group_Views=ON -DVTK_RENDERING_BACKEND={你的opengl版本,查看方法用下面代码} -DVTK_PYTHON_VERSION={your python version} -DQT_VERSION={QT you have installed}
make -j{线程数}
sudo make install
# 如果不是安装在系统环境,记得添加环境变量
//check_opengl_version.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\n", name);
    printf("OpenGL标识符:%s\n", biaoshifu);
    printf("OpenGL版本号:%s\n",OpenGLVersion );
    //printf("OpenGL支持的扩展:%s\n",Extensions );
    printf("OGLU工具库版本:%s\n", gluVersion);
    //system("pause");  如果是windows
    return 0;
}

然后编译

g++ check_opengl_version.cpp -o test
./test

安装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
cmake .. -DBUILD_global_tests=ON -DBUILD_surface_on_nurbs=ON -DCMAKE_INSTALL_PREFIX={path you wanna install} -DVTK_DIR={your VTK path}
make -j
sudo make install

ok!安装完成

posted @ 2020-05-19 19:27  nanmi  阅读(3367)  评论(0编辑  收藏  举报