安装依赖:
Boost >= 1.65
sudo apt-get install libboost-all-dev
CMake >= 3.0
sudo apt-get install cmake
gcc 4.7.3 >=4.7.3
sudo apt-get install gcc
依赖TBB:
//安装TBB:
sudo apt-get install libtbb-dev
依赖MKL:
安装MKL需要进入获取root权限
/*注册密钥*/
sudo su
cd /tmp
wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB
sudo rm GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB
exit
关闭该root权限终端
打开新的终端:
Ctrl+Alt+T
/*开始安装mkl*/
sudo wget https://apt.repos.intel.com/setup/intelproducts.list -O /etc/apt/sources.list.d/intelproducts.list
sudo sh -c 'echo deb https://apt.repos.intel.com/mkl all main > /etc/apt/sources.list.d/intel-mkl.list'
/*如果你的系统是32位否则跳过执行下一条*/
sudo dpkg -add-architecture i386
sudo apt-get update
/*可以根据需要选择安装版本*/
sudo apt-get install intel-mkl-2020.4-912
安装GTSAM
从
GTSAM的git hub网址http://Releases · borglab/gtsam · GitHub 下载自己需要的版本注意:ubuntu20.04的系统需要GTSAM>=4.03
否则报错:
The "debug" argument must be followed by a library.”
(笔者下载的是GTSAM 的4.2a5)
编译
cd gtsam xxx (解压之后的gtsam文件夹)
mkdir build && cd build
cmake ..
make check
sudo make install
一般情况下cmake ..会报错
CMake Error at wrap/CMakeLists.txt:29 (target_link_libraries):
The debug argument must be followed by a library.
cd gtsam && cd cmake
//打开gtsam/cmake/HandleEigen.cmake
gedit HandleEigen.cmake
在
if(GTSAM_USE_SYSTEM_EIGEN)
的上面添加下面一句
set(GTSAM_USE_SYSTEM_EIGEN ON)
设置GTSAM库所使用的Eigen和ubuntu的Eigen版本一致
效果如下图 line 13
保存并退出
清空build 文件夹
继续编译
cd gtsam xxx (解压之后的gtsam文件夹)
mkdir build && cd build
cmake ..
make check
sudo make install
cmake ..
后终端显示如下:
Use System Eigen : ON
摸索了好一会,希望帮助Dai佬各位节省时间!!!