安装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!安装完成