定制开发小程序ubuntu18.04安装pcl1.9.1

ubuntu18.04安装pcl1.9.1所需的cmake3.14.3和vtk8.2.0

先安装Qt5,X11,OpenGL

根据VTK定制开发小程序的要求要先安装Qt5,X11,OpenGL

根据 官方文档 ,先更新qt5的依赖,python、Perl、Ruby
再进入 官网 下载Qt5:
或者进入 清华源 下载镜像
我选择了5定制开发小程序在线安装的最新版本

sudo chmod a+x 定制开发小程序然后把安装包拖到这个a+x后面直接把安装包拖到终端里
  • 1
  • 2
  • 3
  • 4
  • 5

根据提示进行安装,安装完毕
2)安装x11

sudo apt-get install libx11-dev libxext-dev libxtst-dev libxrender-dev libxmu-dev libxmuu-dev
  • 1

3)安装OpenGL

sudo apt-get install build-essential libgl1-mesa-dev libglu1-mesa-dev
  • 1

4)安装libglut-dev

sudo apt-get install freeglut3-dev
  • 1

5)安装metslib点云驱动包

下载地址:

tar xzvf metslib-0.5.3.tgzcd metslib-0.5.3./configuremake -j4sudo make install
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

安装CMAKE

下载地址:
解压:

tar -zxvf cmake-3.16.0-rc2.tar.gz
  • 1

1:安装pcl所需依赖

sudo apt-get update  sudo apt-get install git build-essential linux-libc-devsudo apt-get install cmake cmake-guisudo apt-get install libusb-1.0-0-dev libusb-dev libudev-devsudo apt-get install mpi-default-dev openmpi-bin openmpi-commonsudo apt-get install libflann1.9 libflann-devsudo apt-get install libeigen3-dev sudo apt-get install libboost-all-dev sudo apt-get install openjdk-8-jdk openjdk-8-jresudo apt-get install libvtk7.1-qtsudo apt-get install libvtk7.1sudo apt-get install libvtk7-qt-devsudo apt-get install libqhull* libgtest-devsudo apt-get install freeglut3-dev pkg-configsudo apt-get install libxmu-dev libxi-devsudo apt-get install mono-completesudo apt-get install openjdk-8-jdk openjdk-8-jre
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

linux安装eigen3
首先在终端执行命令:

sudo apt-get install libeigen3-dev
  • 1

由于Eigen文件夹被默认安装到了路径:/usr/include/eigen3/Eigen,用#include<Eigen/Dense>无法通过编译,故需将Eigen文件夹放到/usr/include 下,需执行命令:

sudo cp -r /usr/include/eigen3/Eigen /usr/include
  • 1

2:opengl报错

解决方案

在CMakeLists.txtS上添加以下代码

set(OpenGL_GL_PREFERENCE LEGACY)
  • 1

3:Could NOT find PCAP (missing: PCAP_LIBRARIES PCAP_INCLUDE_DIRS)Could NOT find PCAP (missing: PCAP_LIBRARIES PCAP_INCLUDE_DIRS)在安装PCL时会有这样的错误:Could NOT find PCAP (missing: PCAP_LIBRARIES PCAP_INCLUDE_DIRS)

3.1下载pcap包,地址:

tar -zxvf libpcap-1.9.0.tar.gzcd libpcap-1.9.0./configuremake -j8sudo make install
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

3.2:如果在./configure时出现:

configure: error: Neither flex nor lex was found.
  • 1

解决办法:

sudo apt-get install flex bison
  • 1

4:下载libvtk7报错

解决办法

sudo apt-get install libvtk7-dev=7.1.1+dfsg1-2
  • 1

还是报错

sudo apt-get install libvtk7-java=7.1.1+dfsg1-2
  • 1
  • 2

还是有的话

sudo apt-get install libvtk7-jni=7.1.1+dfsg1-2
  • 1

这个报错需要多试几遍才能解决

5:下载VTK-8.2.0版本

地址:

安装依赖项

sudo apt-get install cmake-curses-guisudo apt-get install freeglut3-dev
  • 1
  • 2

下载下面适合的包

mkdir build
cd build
machine-gun

6:配置VTK

sudo makesudo make install
  • 1
  • 2

7:PLC1.9.1下载地址:

展开Module和VTK,然后分别在里面配置勾选这两个:Module_vtkGUISupportQt、VTK_Group_Qt ,点击configure和generate,出错

cd pcl-pcl-1.9.1mkdir  buildcd  build
  • 1
  • 2
  • 3

如添加选择

8:进行编译

make -j8
  • 1

报错/usr/local/include/eigen3/Eigen/src/Core/products/Parallelizer.h:162:40:错误:“eigen_assert_exception”不是“Eigen”的成员if (errorCount) EIGEN_THROW_X(Eigen::eigen_assert_exception());

解决方案

在CMakeLists.txt上添加以下代码

include_directories("/usr/include/eigen3")
  • 1

8.1:点云可视化工具

sudo make -j4 install
  • 1

下载plc-tools

sudo apt-get install pcl-tools
  • 1

9:验证

9.1: 在home目录下右击创建一个test_pcl文件夹,再创建一个源文件test_pcl.cpp

#include <iostream>#include <pcl/common/common_headers.h>#include <pcl/io/pcd_io.h>#include <pcl/visualization/pcl_visualizer.h>#include <pcl/visualization/cloud_viewer.h>#include <pcl/console/parse.h>using namespace std; int main(int argc, char **argv) {//柱型点云测试  cout << "Test PCL !" << endl;  pcl::PointCloud<pcl::PointXYZRGB>::Ptr point_cloud_ptr (new pcl::PointCloud<pcl::PointXYZRGB>);  uint8_t r(255), g(15), b(15);  for (float z(-1.0); z <= 1.0; z += 0.05) {//制作柱型点云集  	for (float angle(0.0); angle <= 360.0; angle += 5.0) {      pcl::PointXYZRGB point;      point.x = cos (pcl::deg2rad(angle));      point.y = sin (pcl::deg2rad(angle));      point.z = z;      uint32_t rgb = (static_cast<uint32_t>(r) << 16 | static_cast<uint32_t>(g) << 8 | static_cast<uint32_t>(b));      point.rgb = *reinterpret_cast<float*>(&rgb);      point_cloud_ptr->points.push_back (point);    }    if (z < 0.0) {//颜色渐变      r -= 12;      g += 12;    }    else {      g -= 12;      b += 12;    }  }    point_cloud_ptr->width = (int) point_cloud_ptr->points.size ();  point_cloud_ptr->height = 1;   pcl::visualization::CloudViewer viewer ("pcl—test测试");   viewer.showCloud(point_cloud_ptr);   while (!viewer.wasStopped()){ };  return 0;}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  1. 2:在test_pcl文件夹下再创建一个配置文件CMakeLists.txt
cmake_minimum_required(VERSION 2.6)project(test_pcl) find_package(PCL 1.2 REQUIRED) include_directories(${PCL_INCLUDE_DIRS})link_directories(${PCL_LIBRARY_DIRS})add_definitions(${PCL_DEFINITIONS}) add_executable(test_pcl test_pcl.cpp) target_link_libraries (test_pcl ${PCL_LIBRARIES}) install(TARGETS test_pcl RUNTIME DESTINATION bin)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

9.3:编译

在test_pcl文件夹下再建一个build文件夹,在build文件夹下打开终端。

输入 cmake …,然后输入 make进行编译。

mkdir buildcd buildcmake ..make./test_pcl
  • 1
  • 2
  • 3
  • 4
  • 5
网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发