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

编译完成!

相关推荐
zl.rs42 分钟前
配置更适合生产环境的coredump
c++
一木 之林1 小时前
三.C++ 内存管理(进阶)(二)
开发语言·arm开发·c++
DLite1 小时前
开源一个静态类型语言——NLang
c++·编译器·nlang
uoKent2 小时前
c++中new和malloc的区别
java·jvm·c++
会周易的程序员2 小时前
aiDgeController 软PLC虚拟机stvm集成测试报告
c++·物联网·架构·集成测试·st·软plc·iec61131
布莱克6052 小时前
队列详解:定义、分类、应用场景及与栈的区别(C/C++ 代码讲解)
c语言·开发语言·c++·队列
郝学胜-神的一滴3 小时前
C++11 工程级应用 06:自己造一个类似Python的Range迭代器
开发语言·c++·windows·python·程序人生·microsoft
zh_xuan3 小时前
c++ jthread
开发语言·c++·jthread
神仙别闹4 小时前
基于C++ WinPcap 的网络抓包软件
网络·c++·php
whitelbwwww4 小时前
c++运行RKNN
开发语言·c++