Colmap3.9.1 windows vs2019x64+cuda 编译
- 下载colmap3.9.1源码 https://github.com/colmap/colmap/tree/3.9.1
- 下载vcpkg,https://github.com/microsoft/vcpkg,并配置并运行vcpkg目录中的bootstrap-vcpkg.bat文件,完成vcpkg的初始化安装。
- cuda v11.7下载安装(测试也可以使用v12.1版本)。不会的可以参考CUDA安装详细教程-CSDN博客
- CMake安装,windows下面,直接从github下载安装包。https://github.com/Kitware/CMake/releases/download/v3.28.1/cmake-3.28.1-windows-x86_64.msi
- 下载colmap编译需要的依赖包:
启动cmd进入vcpkg目录,依次输入
vcpgk.exe install qt5:x86-windows
vcpgk.exe install qt5:x64-windows
vcpgk.exe install boost:x64-windows
vcpgk.exe install cgal:x64-windows
vcpgk.exe install glew:x64-windows
vcpgk.exe install ceres:x64-windows
vcpgk.exe install freeimage:x64-windows
vcpgk.exe install flann:x64-windows
等待安装完成(这里需要翻墙)
6.启动cmake配置vs2019工程
设置源代码的路径,和生产工程的路径后,点击Add Entry,添加设置CMAKE_TOOLCHAIN_FILE=”vcpkgpath/buildsystems/vcpkg.cmake",点击configure,选择vs 2019,x64,然后确定。
点击configure后,补充未被设置的包括FLANN、METIS、FREEIMAGE、glog等
再次configure,然后有一个提示,cuda架构设置的缺少的错误,这里,再次点击Add Entry,
有个编译说明里面,指示这里设置为native,但是我编译用这个native是报错的,所以,我这里设置是70.
然后再次configure,generate。生成工程。
7.用notepad++打开colmap_mvs_cuda.vcxproj,
修改改工程cuda编译的参数错误问题,如果不修改,编译该cuda项目编译会报 “nvcc fatal : A single input file is required for a non-link phase when an outputfile is specified”。
8.用vs 2019打开colmap.sln,配置cuda编译设置的信息
查看colmap_sift_gpu和colmap_mvs_cuda两个项目的属性,将CUDA_Toolkit_Custom_Dir进行如下图设置。
9、编译colmap项目,
进行编译,然后编译INSTALL即可。