首先通过virtualBox安装Ubuntu20.04虚拟机,参考VirtualBox 6.1安装Ubuntu16.04_virtualbox6.1.26 ubuntu 16.0.4-优快云博客进行安装即可。
openCalib官方提供了docker运行的方式,但是docker镜像过大导致多次下载失败,这里选择在Ubuntu中安装相关的三方库依赖,包括cmake、eigen、opencv、pcl、Pangoglin。
1)cmake
通过apt的方式安装
sudo apt update
sudo apt install cmake
安装完后通过cmake --version查看版本为3.16.3,还算比较新。
2)eigen
通过cmake编译安装,这里安装的是3.3.7版本。
mkdir build
cd build
cmake ..
make
sudo make install
Eigen的相关头文件都被安装到了/usr/local/include/eigen3目录下,但是很多三方库(如OpenCV等)在包含头文件时都写作"#include <Eigen/Core>"的形式,此时会报找不到头文件的错误。处理这个问题有多种方法:1)修改相关库/程序的编译选项,将/usr/local/include/eigen3加入头文件的搜索路径,2)将Eigen的安装文件拷贝到系统搜索目录中,3)构造软链接。这里使用了方法3,即执行如下命令
sudo ln -s /usr/local/include/eigen3/Eigen/ /usr/local/include/Eigen
3)opencv
通过cmake编译安装了3.4.7版本,命令如下。
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DWITH_IPP=OFF -DBUILD_PERF_TESTS=OFF -DBUILD_TESTS=OFF
make -j8
sudo make install
4)Pangolin
通过cmake编译安装了0.8版本,命令如下
sudo apt install libglew-dev libboost-dev libboost-thread-dev libboost-filesystem-dev
mkdir build
cd build
cmake ..
make -j8
sudo make install
5)PCL
先安装一些依赖项
sudo apt-get install g++ doxygen mpi-default-dev openmpi-bin openmpi-common
sudo apt-get install libflann1.9 libflann-dev
sudo apt-get install libboost-all-dev
sudo apt-get install libvtk6-dev libvtk6.3
sudo apt-get install 'libqhull*'
sudo apt-get install libusb-dev
sudo apt-get install libgtest-dev
sudo apt-get install git-core freeglut3-dev pkg-config
sudo apt-get install build-essential libxmu-dev libxi-dev graphviz mono-complete
sudo apt-get install phonon-backend-gstreamer
sudo apt-get install phonon-backend-vlc
sudo apt-get install libopenni-dev libopenni2-dev
之后从github上下载PCL1.9.1版本源码,通过cmake编译安装,发现多核编译会出现卡死情况,最终通过make -j2完成了编译安装。