COLMAP 3.13.0 + CUDA 12.9 + Ubuntu24.04 编译

COLMAP 3.13.0 + CUDA 12.9 + Ubuntu24.04 编译

  • [1. 安装CUDA](#1. 安装CUDA)
  • [2. 按照官网配置安装第三方库](#2. 按照官网配置安装第三方库)
  • [3. 按照官网流程编译colmap](#3. 按照官网流程编译colmap)

前清提要:由于显卡是最新的50系,所以CUDA只能装最新版本12.9

1. 安装CUDA

自行搜索需要版本的教程,此处不赘述

2. 按照官网配置安装第三方库

colmap官方配置

执行完官方配置里的第三方库安装之后,由于colmap版本更新,多依赖了一个新的库

复制代码
sudo apt-get install libopenimageio-dev openimageio-tools

3. 按照官网流程编译colmap

复制代码
git clone https://github.com/colmap/colmap.git
cd colmap
mkdir build
cd build
cmake .. -GNinja -DBLA_VENDOR=Intel10_64lp
ninja
sudo ninja install

我在cmake的时候遇到一个新问题,报错如下

复制代码
Compiling the CUDA compiler identification source file
  "CMakeCUDACompilerId.cu" failed.

  Compiler: /usr/local/cuda/bin/nvcc

  Build flags:

  Id flags: --keep;--keep-dir;tmp -v

后来查询得知,是因为没有找到正确nvcc的位置

原始bug解决方法链接

首先在控制台输入

复制代码
which nvcc

就可以看到nvcc的路径,没有的话说明cuda没有正确安装,重装cuda

然后把对应路径填入下面的对应位置,不要带引号,在cmake编译指令加上下面这句话

复制代码
-DCMAKE_CUDA_COMPILER=`which nvcc`

对我来说,cmake完整的编译指令为

复制代码
cmake .. -GNinja -DBLA_VENDOR=Intel10_64lp -DCMAKE_CUDA_COMPILER=/usr/local/cuda-12/bin/nvcc

编译完成!

相关推荐
杜子不疼.6 小时前
【C++ AI 大模型接入 SDK】 - DeepSeek 模型接入(上)
开发语言·c++·chatgpt
石山代码7 小时前
C++ 内存分区 堆区
java·开发语言·c++
张小姐的猫9 小时前
【Linux】多线程 —— 线程互斥
linux·运维·服务器·c++
做人求其滴11 小时前
面试经典 150 题 380 274
c++·算法·面试·职场和发展·力扣
见叶之秋11 小时前
C++基础入门指南
开发语言·c++
计算机安禾11 小时前
【c++面向对象编程】第42篇:模板特化与偏特化:为特定类型定制实现
开发语言·c++·算法
玖釉-12 小时前
C++ 中的循环语句详解:while、do...while、for、嵌套循环与循环控制
开发语言·c++·算法
欧米欧13 小时前
C++进阶数据结构之搜索二叉树
开发语言·数据结构·c++
青小莫13 小时前
C++之vector讲解
c++·stl
计算机安禾14 小时前
【c++面向对象编程】第41篇:函数模板与类模板:泛型编程的基石
开发语言·c++·算法