ubuntu20安装colmap
教程
https://colmap.github.io/install.html
前提
r900k 3070显卡
cuda11.5
opencv3.4.9
如果有acoda先从环境变量去掉,以免导致多重库问题

起作用 source ~/.bashrc
gcc 11 g++ 11
安装
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
安装cuda支持
sudo apt-get install -y \
nvidia-cuda-toolkit \
nvidia-cuda-toolkit-gcc
报错1
Or, manually install latest CUDA from NVIDIA’s homepage. During CMake configuration specify CMAKE_CUDA_ARCHITECTURES as “native”, if you want to run COLMAP on your current machine only, “all”/”all-major” to be able to distribute to other machines, or a specific CUDA architecture like “70”, etc.

添加

122行
set(CMAKE_CUDA_ARCHITECTURES "native") # 添加


报错2
ptxas fatal : Value 'sm_30' is not defined for option 'gpu-name'


查询
apt-cache policy nvidia-cuda-toolkit

卸载 重装
sudo apt remove nvidia-cuda-toolkit sudo apt install nvidia-cuda-toolkit
编译
git clone https://github.com/colmap/colmap.git cd colmap git checkout dev mkdir build cd build cmake .. -GNinja ninja sudo ninja install