千川之电 2024-07-10 19:44 采纳率: 0%
浏览 245

ubntu20.04下ceres2.0.0安装失败

img

[ 27%] Built target ceres
make[2]: *** 没有规则可制作目标“/tmp/build/80754af9/snappy_1649923748780/_build_env/x86_64-conda-linux-gnu/sysroot/usr/lib/librt.so”,由“bin/schur_eliminator_benchmark” 需求。 停止。
make[1]: *** [CMakeFiles/Makefile2:642:internal/ceres/CMakeFiles/schur_eliminator_benchmark.dir/all] 错误 2
make: *** [Makefile:141:all] 错误 2
请问这个该如何解决。

  • 写回答

4条回答 默认 最新

  • 阿里嘎多学长 2024-07-10 19:44
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    根据您提供的错误信息和搜索结果,您在Linux环境下编译Ceres库时遇到的问题可能是由于缺少依赖库librt.so导致的。这个问题通常可以通过以下步骤解决:

    1. 确认依赖库是否已安装: 确保您的系统已经安装了所有必要的依赖项。根据搜索结果 [^1^] 和 [^5^],您需要安装的依赖包括但不限于:

      sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3 libgflags-dev libgoogle-glog-dev libgtest-dev
      
    2. 检查librt.so是否存在librt.so是实时库的一部分,通常包含在大多数Linux发行版中。您可以使用以下命令检查它是否存在:

      locate librt.so
      

      如果找到了librt.so,确保它在您的库路径中。如果没有找到,您可能需要安装或更新您的系统库。

    3. 重新编译Ceres: 在确保所有依赖项都已安装之后,重新编译Ceres。您可以按照以下步骤操作:

      # 解压下载的Ceres库
      tar zxf ceres-solver-版本号.tar.gz
      # 切换到源码目录
      cd ceres-solver-版本号
      # 创建编译目录
      mkdir build
      # 切换到编译目录
      cd build
      # 生成Makefile
      cmake ..
      # 编译
      make -j4
      # 安装(如果需要)
      sudo make install
      
    4. 如果问题仍然存在: 您可能需要检查Ceres的CMakeLists.txt文件,确保它正确地链接了所有必要的库。此外,您也可以尝试清理之前的编译结果并重新开始:

      make clean
      make
      
    5. 参考链接

      • 详细的Ceres安装指南可以参考Ceres的官方安装页面 [^1^]。
      • 如果您在Ubuntu 18.04上遇到问题,可以参考这篇博客 [^4^],它提供了针对Ubuntu 18.04的解决方案。

    希望这些步骤能帮助您解决编译Ceres时遇到的问题。如果还有其他问题,欢迎继续提问。

    评论 编辑记录

报告相同问题?

问题事件

  • 修改了问题 7月10日
  • 创建了问题 7月10日