首先,确保你的系统已经安装了必要的依赖项,包括cmake、eigen3和suitesparse。你可以通过以下命令在Ubuntu上安装这些依赖项:
sudo apt-get install cmake libeigen3-dev libsuitesparse-dev
解压下载的源代码压缩包,并进入解压后的目录。
创建一个用于构建Ceres-Solver的build目录,并进入该目录:
mkdir build
cd build
运行cmake命令来配置构建过程:
cmake ..
你也可以通过添加额外的选项来定制构建过程。例如,如果你想使用Eigen的稠密矩阵支持,可以添加-DEIGENSPARSE=OFF
选项。
运行make命令进行编译:
make -j4
这里的-j4
表示使用4个线程进行并行编译,你可以根据自己的系统进行调整。
编译完成后,运行make install命令进行安装:
sudo make install
这将会将Ceres-Solver的头文件和库文件安装到系统默认的位置。
完成以上步骤后,你就成功地安装了Ceres-Solver计算库。你可以根据需要在自己的项目中使用它。如果需要更详细的安装说明或者其他帮助,请参考Ceres-Solver的官方文档。
注意事项:
编译期间,遇到类似
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
安装所有依赖,继续编译
实际解决方案
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
but it set Ceres_FOUND to FALSE so package “Ceres“ is considered to be NOT FOUND