问题描述:
CMake Error at /usr/local/lib/cmake/Ceres/CeresConfig.cmake:91 (message): Failed to find Ceres - Found Eigen dependency, but the version of Eigen found (3.3.4) does not exactly match the version of Eigen Ceres was compiled with (3.2.92). This can cause subtle bugs by triggering violations of the One Definition Rule. See the Wikipedia article http://en.wikipedia.org/wiki/One_Definition_Rule for more details Call Stack (most recent call first): /usr/local/lib/cmake/Ceres/CeresConfig.cmake:226 (ceres_report_not_found) LIVOX_COLOR/CMakeLists.txt:17 (find_package) CMake Error at LIVOX_COLOR/CMakeLists.txt:17 (find_package): Found package configuration file: /usr/local/lib/cmake/Ceres/CeresConfig.cmake but it set Ceres_FOUND to FALSE so package "Ceres" is considered to be NOT FOUND.
解决方案:
wget ceres-solver.org/ceres-solver-1.14.0.tar.gz
tar xvf ceres-solver-1.14.0.tar.gz
cd ceres-solver-1.14.0
mkdir build
cd build
cmake ..
make -j4
make test
sudo make install
本文档描述了在使用Ceres Solver时遇到的Eigen库版本不匹配问题,该问题可能导致One Definition Rule的违反,从而引起潜在的程序错误。解决方案是重新下载并安装Ceres Solver的特定版本,确保其与使用的Eigen版本一致。步骤包括从ceres-solver.org下载源码,解压,创建build目录,配置,编译并安装。
1372





