• linux centos7安装colmap


    centos安装colmap
    一、安装依赖

    sudo yum install \
        gflags-devel \
        glog-devel \
        glew-devel \
        atlas \
        atlas-devel \
        lapack-devel \
        blas-devel \
        flann-devel \
        lz4-devel \
        sqlite-devel \
        metis-devel \
        qt5-qtbase-devel
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    二、编译安装colmap

    git clone https://github.com/colmap/colmap.git
    cd colmap
    git checkout dev
    mkdir build
    cd build
    cmake .. 
    sudo make install 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    报错:CMake Error at /usr/lib64/cmake/Ceres/CeresConfig.cmake:89
    安装:cere-solver 1.14.0

    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
    sudo make install
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    重新cmake ..,报错Could not find FreeImage
    安装:FreeImage

    git clone https://github.com/leapmotion/FreeImage
    cd FreeImage
    make
    sudo make install
    make clean
    
    • 1
    • 2
    • 3
    • 4
    • 5

    遇到报错:error: narrowing conversion of ‘128’ from ‘int’ to ‘signed char’ inside { } [-Wnarrowing]
    解决:打开FreeImage/Makefile.gnu,30行添加CXXFLAGS += -Wno-narrowing,编译成功
    在这里插入图片描述
    编译colmap期间如果遇到Could NOT find XXX,用sudo yum search xxx 搜索相关的库,如果有就用yum安装,没有就从源码编译安装。

    继续编译colmap,遇到报错:The CUDA compiler identification is unknown colmap
    这里系统使用cuda11.3
    编译命令改成:

    cmake .. -D CMAKE_CUDA_ARCHITECTURES='70' -D CMAKE_CUDA_COMPILER="/usr/local/cuda/bin/nvcc"
    
    • 1

    CUDA问题解决,遇到报错

    Cannot generate a safe linker search path for target colmap_exe because
      files in some directories may conflict with libraries in implicit
      directories:
    
        link library [libglog.so] in /usr/lib64 may be hidden by files in:
          /home/liaobaoxin.lbx/miniconda3/lib
        link library [liblz4.so] in /usr/lib64 may be hidden by files in:
          /home/liaobaoxin.lbx/miniconda3/lib
        link library [libsqlite3.so] in /usr/lib64 may be hidden by files in:
          /home/liaobaoxin.lbx/miniconda3/lib
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    提示我们一些so跟miniconda3/lib中的so冲突,先把miniconda3目录重命名,编译colmap,然后再改回来

    报错 Could NOT find Boost 待解决

  • 相关阅读:
    并发中级(第二篇)
    智能文件夹改名助手,秒级恢复原始文件夹名称,避免繁琐操作!
    论文阅读-Detecting and Recovering Sequential DeepFake Manipulation(SeqFakeFormer)
    C#以太网简介
    Dubbo是如何完成服务导出的?
    Python文件操作(05):Excel操作
    网站whois查询易语言代码
    python机器学习入门之pandas的使用(超详细,必看)
    MBR分区表的简介
    cube-studio 部署过程
  • 原文地址:https://blog.csdn.net/baoxin1100/article/details/134198252