Ubuntu18.04 安装 colmap

news2025/6/29 23:18:58

安装依赖

sudo apt-get install \
    git \
    cmake \
    ninja-build \
    build-essential \
    libboost-program-options-dev \
    libboost-filesystem-dev \
    libboost-graph-dev \
    libboost-system-dev \
    libeigen3-dev \
    libflann-dev \
    libfreeimage-dev \
    libmetis-dev \
    libgoogle-glog-dev \
    libgtest-dev \
    libsqlite3-dev \
    libglew-dev \
    qtbase5-dev \
    libqt5opengl5-dev \
    libcgal-dev \
    libceres-dev

编译colmap

git clone https://github.com/colmap/colmap.git
cd colmap
mkdir build
cd build
cmake .. -GNinja
ninja
sudo ninja install

mkdir build 时报错:Cannot specify include directories for imported target “freeimage::FreeImage”.

原因:cmake版本在3.11之前,target_include_directories命令有一些问题,需要升级cmake版本。通过cmake -version命令查看当前版本。

接近:升级cmake:不要使用apt update cmake的方法,会导致异常。建议在自己的目录下安装新的cmake包,作为优先的cmake路径

# 下载cmake源码包
wget https://github.com/Kitware/CMake/releases/download/v3.21.4/cmake-3.21.4-linux-x86_64.tar.gz
# 解压
tar -xzvf cmake-3.21.4-linux-x86_64.tar.gz

cmake … -GNinja 报错:could not find ZL4
原因:可能还没有安装zl4,也可能是没在路径中,找不到这个库。

apt -y install liblz4-dev

ninja 报错:nvcc fatal : unsupported gpu architecture ‘compute_native’

解决方案:在colmap/cmake/FindDependencies.cmake文件里面加入一句set(CMAKE_CUDA_ARCHITECTURES “80”),(注意这里的80这个数字是因为是cuda11系列的,所以用80)
在这里插入图片描述

CUDA 10.x 最高支持算力为 7.x,CUDA 11.x 最高支持算力为 8.x

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1822381.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GenICam标准(一)

系列文章目录 GenICam标准(一) GenICam标准(二) 文章目录 系列文章目录1、概述GenApiGenTLSFNC(标准特征命名约定)CLProtocolGenCP 参考 emva 1、概述 如今的数码摄相机包含了很多的功能,而不仅…

为什么Mamba模型被拒?

Mamba模型问世 最近,国际学习表征会议(ICLR)公布了2024年会议的最终决定,其中引起广泛关注的是一个名为Mamba的模型。这个模型最初被认为是对抗著名的Transformer架构进行语言建模任务的主要竞争者,但最终被拒绝&…

植物大战僵尸杂交版 fatal error及问题解决闪退

echo off set KEY_NAMESoftware\PopCap\PlantsVsZombies set VALUE_NAMEScreenmode set DATA0 reg add HKCU%KEY_NAME% /v %VALUE_NAME% /t REG_DWORD /d %DATA% /f if %errorlevel% neq 0 ( echo 注册表数值数据修改失败 ) else ( echo 注册表数值数据已成功修改为0 ) 将上述…

什么是场外期权?场外期权有几种做法?

今天带你了解什么是场外期权?场外期权有几种做法?期权分为场内期权,场外期权。场内期权我们都知道,是在期货盘里购买的期权,但场外期权呢? 什么是场外期权? 场外期权是一种在交易所之外进行交易…

组件二次封装,通过属性事件透传,插槽使用,组件实例方法的绑定,深入理解 Vue.js 组件扩展与插槽

透传,插槽,组件实例方法的绑定,深入理解 Vue.js 组件扩展与插槽 前言 Vue.js 提供了强大的组件化系统,允许开发者构建可复用、可组合的UI组件。在实际项目中,直接使用第三方库提供的基础组件(如Element UI…

DBA必备!如何使用DBdoctor进行索引推荐

近期,一些用户在安装DBdoctor并完成实例纳管后,常在DBdoctor概览页面或实例性能洞察页面看到索引推荐的相关信息,他们对这些信息的来源、索引推荐的触发场景以及实现流程等比较关注,也想了解是否存在其他能够触发索引推荐的场景。…

【Hive中篇: 一篇文章带你了解表的静态分区,动态分区! 分桶!Hive sql的内置函数!复杂数据类型!hive的简单查询语句!】

前言: 💞💞大家好,我是书生♡,本篇文章主要分享的是大数据开发中hive的相关技术,表的静态分区,动态分区,分桶!Hive sql的内置函数!复杂数据类型!以…

优雅谈大模型11:Mistral

大模型技术论文不断,每个月总会新增上千篇。本专栏精选论文重点解读,主题还是围绕着行业实践和工程量产。若在某个环节出现卡点,可以回到大模型必备腔调或者LLM背后的基础模型新阅读。而最新科技(Mamba,xLSTM,KAN)则提…

android studio4.1后不能ButterKnife

麻蛋L最近发现 android studio不能使用ButterKnife啦!ButterKnife Injections不维护,butterknife Zelezny也不维护!!!日…难受,兄弟们换下一家:IDsCreate,一毛一样的好用&#xff01…

2024年计算机科学与电子信息工程国际会议(ICSEIE 2024)

2024 International Conference on Computer Science and Electronic Information Engineering 【1】大会信息 会议简称:ICSEIE 2024 大会时间:2024-07-19 大会地点:中国苏州 截稿时间:2024-07-05(以官网为准) 审稿通…

git提交错了?别慌,直接删除提交记录

git revert 和git reset !这两个命令都有撤销操作的功能!哪一个可以删除提提交记录??? 使用git revert撤销提交 revert的英文释义是回复、恢复(到原来的状态) 作用 git revert 是 Git 中用于撤…

IntelliJ IDEA 用maven创建web项目

前言 已经安装并配置好Tomcat。具体步骤:Tomcat安装及环境变量配置(一看就会)-CSDN博客​编辑https://blog.csdn.net/longyongyyds/article/details/135825647 具体步骤 1.新建一个maven项目 2,配置好tomcat服务器 3.运行测试一下 maven教程&#xf…

搜维尔科技:特斯拉称工厂内有两台人形机器人开始自主工作

搜维尔科技消息,据外电报道,特斯拉声称,其目前拥有两台 Optimus 人形机器人在工厂内自主工作,这尚属首次。 如果目前这场薪酬方案混乱有什么好处的话,那就是特斯拉几乎看起来又有了一个公关部门。 当然,其…

3d模型文件格式有那些,什么区别?---模大狮模型网

3D模型文件格式有很多种,每种格式都有其特点和应用场景。常见的3D模型文件格式包括OBJ、FBX、STL、3DS、DAE等,下面将逐一介绍这些格式的区别。 1. OBJ格式:OBJ是一种开放的3D模型文件格式,可以被几乎所有的3D软件所支持。OBJ格式…

Linux:线程概念 线程控制

Linux:线程概念 & 线程控制 线程概念轻量级进程 LWP页表 线程控制POSIX 线程库 - ptherad线程创建pthread_createpthread_self 线程退出pthread_exitpthread_cancelpthread_joinpthread_detach 线程架构线程与地址空间线程与pthread动态库 线程的优缺点 线程概念…

笔记98:按列压缩矩阵 csc_matrix 的 “含义”

1. 如何按列压缩矩阵: 注:按列压缩(Compressed Sparse Column -- CSC),是一种使用三个特征数组就可以表示整个矩阵的方法; 标准二次规划问题 :状态量:矩阵:向量&#xff…

11_从注意力机制到序列处理的革命:Transformer原理详解

1.1 简介 Transformer是一种深度学习模型,主要用于处理序列数据,尤其是自然语言处理任务,如机器翻译、文本摘要等。该模型由Vaswani等人在2017年的论文《Attention is All You Need》中首次提出,它的出现极大地推动了自然语言处理…

确定性网络_v0

目录 一、背景二、技术参考文献 一、背景 确定性网络(Deterministic Networking)是提供确定性服务质量的网络技术,是在以太网的基础上为多种业务提供端到端确定性服务质量保障的一种新技术。通过对网络数据转发行为的控制,将时延…

Ubuntu系统设置中文输入法

重新设置超级用户权限(root)密码(非必要) sudo passwd root 需要注意的是Ubuntu的root密码不能少于8个字符 设置成功后输入命令和新的密码即可无需输入sudo启用root命令 su - 更新软件包列表 sudo apt update sudo apt upgrade 安装fcitx5输入法框架 个别情况需要卸载旧的…

陪诊小程序开发,陪诊师在线接单

近几年,陪诊师成为了一个新兴行业,在科技时代中,陪诊小程序作为互联网下的产物,为陪诊市场带来了更多的便利。 当下生活压力大,老龄化逐渐严重,年轻人很难做到陪同家属看病。此外,就诊中出现了…