ubuntu16.04 Lidar 工作环境配置(Qt->VTK->PCL)

前言

一、安装ceres

二、安装PCL

1.下载安装Qt5.12.3

2.VTK安装

         3.PCL安装

总结



前言

    小白借鉴不少大神的博客经验,中间也遇到了不少新问题,总算还好,一路上过关斩将,升级打怪,终于完成了PCL安装。特来记录一下,源码安装我将下载的压缩包放在/home,sudo扩大权限(解决permission denied)。


一、安装ceres

安装借鉴此文章 ,此包可不用先安装,等有需要时,再安装。小白仅仅记录一下安装步骤。

(1)卸载原有的eigen3

$ sudo updatedb 
$ locate eigen3 
$ sudo rm -rf /usr/include/eigen3 /usr/lib/cmake/eigen3 /usr/share/doc/libeigen3-dev /usr/share/pkgconfig/eigen3.pc /var/lib/dpkg/info/libeigen3-dev.list /var/lib/dpkg/info/libeigen3-dev.md5sums

(2)  依赖项

$ sudo apt-get install libopenblas-dev
$ sudo apt-get install --no-install-recommends libboost1.58-all-dev
$ sudo apt-get install libx11-dev
$ sudo apt-get install libgl1-mesa-dev
$ sudo apt-get install libglu1-mesa-dev 
$ sudo apt-get install freeglut3-dev
$ sudo apt-get install doxygen
$ sudo apt-get install cmake
$ sudo wget https://nchc.dl.sourceforge.net/project/glew/glew/2.1.0/glew-2.1.0.tgz --no-check-certificate
$ sudo tar -zxvf glew-2.1.0.tgz
$ cd glew-2.1.0/
$ sudo make 
$ sudo make install
$ sudo ldconfig -v

(3)下载安装eigen3.3.7  ,并调整映射路径

$ sudo tar -zxvf eigen-3.3.7.tar.gz
$ cd eigen-3.3.7  
$ sudo mkdir build && cd build
$ sudo cmake ..
$ sudo make 
$ sudo make install
$ sudo ldconfig -v
$ sudo cp -r /usr/local/include/eigen3 /usr/include/eigen3 
$ sudo ln -s /usr/include/eigen3/Eigen /usr/include/Eigen

(4)添加源,安装相应依赖

$ sudo gedit /etc/apt/sources.list

将下面源加入source.list 文件最上方,save并退出

deb http://cz.archive.ubuntu.com/ubuntu trusty main universe

依赖项

$ sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3.1.2 libgflags-dev 
$ sudo apt-get install libgoogle-glog-dev libgtest-dev

(5)下载安装ceres 1.14.0

$ sudo tar -xzvf ceres-solver-1.14.0.tar.gz
$ cd ceres-solver-1.14.0  
$ sudo mkdir build 
$ cd  build
$ sudo cmake ..
$ sudo make 
$ sudo make install

二、安装PCL

主要借鉴此文章12

准备阶段:安装依赖项

sudo apt-get update
sudo apt-get install git build-essential linux-libc-dev
sudo apt-get install cmake cmake-gui
sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-dev
sudo apt-get install mpi-default-dev openmpi-bin openmpi-common
sudo apt-get install libflann1.8 libflann-dev
sudo apt-get install libeigen3-dev
sudo apt-get install libboost-all-dev
sudo apt-get install libqhull* libgtest-dev  
sudo apt-get install freeglut3-dev pkg-config  
sudo apt-get install libxmu-dev libxi-dev   
sudo apt-get install mono-complete   
sudo apt-get install libopenni-dev   
sudo apt-get install libopenni2-dev 

1.下载安装Qt5.12.3

chmod +x qt-opensource-linux-x64-5.12.3.run
sudo ./qt-opensource-linux-x64-5.12.3.run

 (1)注册并登录Qt帐号,安装全部内容。

(2)安装ros_qtc_plugin 插件

sudo add-apt-repository ppa:levi-armstrong/qt-libraries-xenial
sudo add-apt-repository ppa:levi-armstrong/ppa
sudo apt-get update
sudo apt-get install qt57creator-plugin-ros

(3)修改系统文件并测试

sudo gedit /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf
 
 




/usr/lib/x86_64-linux-gnu/qt4/bin
/usr/lib/x86_64-linux-gnu
 
将上面内容根据自己的qt安装路径修改为如下所示:
 
/opt/Qt5.12.3/5.12.3/gcc_64/bin
/opt/Qt5.12.3/5.12.3/gcc_64/lib
qtcreator-ros

(4)查看安装qt版本

qmake -v

(5)若想删除qt,才使用该步骤

进入自己qt安装路径,输入

sudo ./MaintenanceTool

2.VTK安装

(1)安装依赖项

sudo apt-get install libx11-dev libxext-dev libxtst-dev libxrender-dev libxmu-dev libxmuu-dev
sudo apt-get install build-essential libgl1-mesa-dev libglu1-mesa-dev
sudo apt-get install cmake
sudo apt-get cmake-gui 

(2)下载 安装VTK7.1.1

sudo tar -zxvf vtk-7.1.1.tar.gz 
cd vtk-7.1.1  
mkdir build && cd build
sudo cmake ..
sudo cmake-gui #此后按照参考博客操作
sudo make
sudo make install

 (3)添加QVTK控件

sudo cp /usr/local/plugins/designer/libQVTKWidgetPlugin.so /opt/Qt5.12.3/Tools/QtCreator/lib/Qt/plugins/designer/

3.PCL安装

(1)下载PCL1.8.1并安装

sudo tar -zxvf pcl-pcl-1.8.0.tar.gz
cd pcl-pcl-1.8.0 
mkdir build 
cd build
sudo cmake -DCMAKE_BUILD_TYPE=Release ..
sudo make
sudo make install

(2)测试(sudo gedit 文件名称)

pcl_test.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>
int main(int argc, char **argv) {
    std::cout << "Test PCL !!!" << std::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 = 0.5 * cosf (pcl::deg2rad(angle));
    point.y = sinf (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 ("test");
    viewer.showCloud(point_cloud_ptr);
    while (!viewer.wasStopped()){ };
    return 0;
}

CMakeLists.txt文件

cmake_minimum_required(VERSION 2.6)
project(pcl_test)

find_package(PCL 1.2 REQUIRED)

include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})

add_executable(pcl_test pcl_test.cpp)

target_link_libraries (pcl_test ${PCL_LIBRARIES})

install(TARGETS pcl_test RUNTIME DESTINATION bin)

 新建文件夹,新建build,将上述文件放入同一个文件夹里

进入目录执行

sudo cmake .
sudo make
sudo ./pcl_test

总结

  欢迎交流呀。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值