本人准备的ceres包版本为1.12.0(可在ceres-solver\include\ceres\version.h中看到),Ubuntu18.10,安装的eigen版本为3.3.9,在ceres的make阶段,出现如下图的错误:
可能的问题就是eigen3.3版本与ceres有冲突,这里我选择了更换eigen的版本为3.2.5,下载地址为: https://bitbucket.org/eigen/eigen/get/3.2.5.tar.bz2
因为之前已经安装的3.3.9版本,因此,再安装另一个版本的eigen时候要选择其它目录,我选择了安装在 根目录下:
1、进入根目录,打开终端运行 sudo mkdir eigen3,,注意这里的文件夹名称最好为eigen3
2、进入eigen安装包,运行:
mkdir build;
cmake .. -D -CMAKE_INSTALL_PREFIX=/eigen3 -EIGEN_INCLUDE_INSTALL_DIR=/eigen3 ;
sudo make install
即可将该版本eigen安装在根目录下,如果不指定安装目录和头文件目录的话,会默认安装在 /usr/local中,这会和之前安装的高版本eigen冲突。
3、接下来开始安装ceres,在这之前要先编辑一下 /ceres-solver/cmake/FindEigen.cmake文件,这里将内容全部列出来,可直接粘贴覆盖掉原cmake文件中的内容即可:
# Ceres Solver - A fast non-linear least squares minimizer
# Copyright 2015 Google Inc. All rights reserved.
# http://ceres-solver.org/
#
# Redistribution and use in source and binary forms, with or without
#