1. 首先,确保你的系统已经安装了必要的依赖项,包括cmake、eigen3和suitesparse。你可以通过以下命令在Ubuntu上安装这些依赖项:

    sudo apt-get install cmake libeigen3-dev libsuitesparse-dev
    
  2. 接下来,从Ceres-Solver的GitHub发布页面下载最新版本的源代码压缩包。你可以点击这里访问该页面。

  3. 解压下载的源代码压缩包,并进入解压后的目录。

  4. 创建一个用于构建Ceres-Solver的build目录,并进入该目录:

    mkdir build
    cd build
    
  5. 运行cmake命令来配置构建过程:

    cmake ..
    

    你也可以通过添加额外的选项来定制构建过程。例如,如果你想使用Eigen的稠密矩阵支持,可以添加-DEIGENSPARSE=OFF选项。

  6. 运行make命令进行编译:

    make -j4
    

    这里的-j4表示使用4个线程进行并行编译,你可以根据自己的系统进行调整。

  7. 编译完成后,运行make install命令进行安装:

    sudo make install
    

    这将会将Ceres-Solver的头文件和库文件安装到系统默认的位置。

完成以上步骤后,你就成功地安装了Ceres-Solver计算库。你可以根据需要在自己的项目中使用它。如果需要更详细的安装说明或者其他帮助,请参考Ceres-Solver的官方文档

注意事项:

问题1:

编译期间,遇到类似

Can‘t find Google Log (glog). Please set either: glog_DIR (newer CMake

或

CMake Error at CMakeLists.txt:410 (message):
  Can't find Google Log (glog).  Please set either: glog_DIR (newer CMake
  built versions of glog) or GLOG_INCLUDE_DIR & GLOG_LIBRARY or enable
  MINIGLOG option to use minimal glog implementation.

解决方案:

猜测可能是某个依赖包没有装,运行命令
sudo apt-get install -y google-mock libboost-all-dev  libeigen3-dev libgflags-dev libgoogle-glog-dev liblua5.2-dev libprotobuf-dev  libsuitesparse-dev libwebp-dev ninja-build protobuf-compiler sphinx-common  ros-melodic-tf2-eigen libatlas-base-dev libsuitesparse-dev liblapack-dev
安装所有依赖,继续编译

实际解决方案

glog-0.5.0.zip

https://github.com/google/glog/releases/tag/v0.5.0

缺少glog环境  0.5.0
# git clone <https://github.com/google/glog.git>
cd glog
cmake -S . -B build -G "Unix Makefiles"
cmake --build build
cmake --build build --target install

完整Cmake(附解释)

问题2:

but it set Ceres_FOUND to FALSE so package “Ceres“ is considered to be NOT FOUND