1、安装依赖
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.9 libflann-dev
sudo apt-get install libeigen3-dev
sudo apt-get install libboost-all-dev
sudo apt-get install libvtk7.1-qt libvtk7.1 libvtk7-qt-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 openjdk-8-jdk openjdk-8-jre
2、下载CMake
-
这里使用的版本是v3.28.1;CMake压缩包见附件
tar xzvf CMake-3.28.1.tar.gz //解压缩 cd CMake-3.28.1 sudo ./bootstrap sudo make -j`nproc` sudo make install cmake --version
-
最终出现下述情况,即视为安装成功:
3、安装CUDA[未完待续]
-
【PS】:可以辅助参考下述网址博客:
-
检查硬件和系统:
-
PS:一定要把BIOS的 secure boot 关闭啊, 不然一定报错!血泪教训
-
-
下载地址:CUDA Toolkit 10.0 Download | NVIDIA Developer
-
依次选择:Linux -> x86_64 -> Ubuntu -> 18.04 -> deb(local)
-
安装:Ctrl+Alt+T打开终端,按照顺序执行
`sudo dpkg -i cuda-repo-ubuntu1804-10-0-local-10.0.130-410.48_1.0-1_amd64.deb` `sudo apt-key add /var/cuda-repo-<version>/7fa2af80.pub` `sudo apt-get update` `sudo apt-get install cuda`
-
-
在进行make的时候,可能会遇到Unsupported gpu architecture 'compute_30'问题,这里时候需要修改 pcl_find_cuda.cmake中的*CUDA_ARCH_BIN来对应自己的显卡;参照这个地址:Ubuntu16.04安装(或者升级)NVIDIA显卡驱动常见的问题_nvidia 显卡驱动安装 the driver is incompatible with the -CSDN博客
-
GPU与CUDA适配查询:CUDA GPUs - Compute Capability | NVIDIA Developer
-
Cudnn 下载cuDNN 9.0.0 Downloads | NVIDIA Developer
-
注意cudnn和cuda 版本要适配cuDNN 9.0.0 Downloads | NVIDIA Developer(Cudnn其实是一个加速库)
-
-
4、安装QT5/gcc/g++
-
略,网上比较多了
5、安装VTK
-
VTK不能选择最新版的,选v8.2版本,最新版与PCL还未支持,8.2已经够用
tar xzvf VTK-8.2.0.tar.gz cd VTK-8.2.0 mkdir build cd build cmake .. make -j`nproc` sudo make install
6、安装其他依赖
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
7、安装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`nproc` sudo make install
8、安装PCL1.11.1
-
PCL下载:GitHub - PointCloudLibrary/pcl: Point Cloud Library (PCL)
-
tar -xzvf pcl-pcl-1.11.tar.gz cd pcl-pcl-1.11 mkdir build cd build cmake -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_PREFIX=/usr \ -DBUILD_GPU=ON-DBUILD_apps=ON -DBUILD_examples=ON \ -DCMAKE_INSTALL_PREFIX=/usr .. //用这个 make -j`nproc` sudo make install
-
安装过程中,如果出现某某被杀死(kill error)之类的错误,即内存不够,常见虚拟机内,给ubantu配4G内存,但4G是不够的,需要设置一个交换内存; 向ROM申请16G:具体流程如下:
-
先解压源码包,注意都是1.11,把最后的 .1 去掉,在解压缩后的文件夹内,新建文件夹build;然后执行下面的命令:
-
sudo swapoff /swapfile # 使swapfile停止被占用 # 重新分配swapfile的大小 #count的大小就是增加的swap空间的大小,4096是块大小,所以空间大小是bs*count=16GB #建议不要这样弄,最好一次性直接分配16个G的内存给虚拟机,回头编译完了再改回来! sudo dd if=/dev/zero of=/swapfile bs=4096 count=4M sudo chmod 0600 /swapfile #该目录权限 sudo mkswap /swapfile # 把这个文件格式化成swap空间 sudo swapon /swapfile # 使用刚才创建的swap空间 ******//然后就能跑程序了。。。 //在这里进行cd cd pcl-pcl-1.11、cd build的转换文件夹操作 //然后运行该指令: cmake -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_PREFIX=/usr \ -DBUILD_GPU=ON-DBUILD_apps=ON -DBUILD_examples=ON \ -DCMAKE_INSTALL_PREFIX=/usr .. make -j4 //耐心等待,1h左右 sudo make install//最后执行安装 ****** sudo swapoff /swapfile # 关闭并删除交换分区,一般就留着吧 sudo rm /swapfile free -m #查看当前内存使用情况:
-
参考这篇:PCL1.11.1_(win10+vs2019)/(win10+cmake编译)/(ubuntu18.04+cmake编译)_pcl1.11.1+vs2019-CSDN博客
-
出现下述即视为编译成功
-
-
建议不要这样弄,条件允许的话最好一次性直接分配16个G的内存给虚拟机,回头编译完了再改回来!
-
继续sudo make install,等待安装完成
-
测试:展示一个测试点云:
-
我们安装的是vtk8.2,这是比较合理的版本,终端输入下述命令,来查看是否安装成功
pcl_viewer office1.pcd
-
如果出现下述报错:
pcl_viewer: error while loading shared libraries: libvtksys-8.2.so.1: cannot open shared object file: No such file or directory
那么需要在调用上述语句前,先调用下述语句来更新系统库缓存
sudo ldconfig
-
正常情况下,在安装pcl完成后,调用上述语句一次即可,测试文件样貌应如下:
-