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

编译完成!

相关推荐
Bella的成长园地3 小时前
面试中关于 c++ async 的高频面试问题有哪些?
c++·面试
彷徨而立3 小时前
【C/C++】什么是 运行时库?运行时库 /MT 和 /MD 的区别?
c语言·c++
qq_417129253 小时前
C++中的桥接模式变体
开发语言·c++·算法
No0d1es5 小时前
电子学会青少年软件编程(C语言)等级考试试卷(三级)2025年12月
c语言·c++·青少年编程·电子学会·三级
bjxiaxueliang6 小时前
一文掌握C/C++命名规范:风格、规则与实践详解
c语言·开发语言·c++
xu_yule7 小时前
网络和Linux网络-13(高级IO+多路转接)五种IO模型+select编程
linux·网络·c++·select·i/o
2301_765703147 小时前
C++与自动驾驶系统
开发语言·c++·算法
轩情吖7 小时前
Qt的窗口(三)
c++·qt
热爱编程的小刘8 小时前
Lesson04---类与对象(下篇)
开发语言·c++·算法
郝学胜-神的一滴8 小时前
Linux网络编程之listen函数:深入解析与应用实践
linux·服务器·开发语言·网络·c++·程序人生