0

我安装了两个版本的 Ceres 求解器。一个在/opt/local/lib,另一个在/usr/local/lib/,我正在使用 cmake 构建一个使用后者的应用程序。在我的build子目录中,以下工作正常:

cmake -DCeres_DIR=/usr/local/lib/cmake/Ceres/ ..

我宁愿按照本文所述在CMakeLists.txt文件中指定正确的路径,但以下失败:

find_package(Ceres PATHS /usr/local/lib/cmake/Ceres)

当我这样做时,cmake 会抱怨,因为它发现CeresConfig.cmake使用不同版本的 Eigen 构建的错误文件:

CMake Error at /opt/local/lib/cmake/Ceres/CeresConfig.cmake:85 (message):
  Failed to find Ceres - Found Eigen dependency, but the version of Eigen
  found (3.4.0) does not exactly match the version of Eigen Ceres was
  compiled with (3.3.9).
  ....

显然是不是在使用 Ceres/opt/local/lib安装/usr/local/lib。为什么PATHS规范在这种情况下不起作用?

4

0 回答 0