Colmap编译教程及笔记 [Windows+VS2019+Vcpkg]

这篇具有很好参考价值的文章主要介绍了Colmap编译教程及笔记 [Windows+VS2019+Vcpkg]。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Windows系统下COLMAP的编译可以分为三部分:(1)手动下载安装Boost、Qt、CGAL、CUDA(Boost和CGAL也可以用vcpkg安装);(2)利用vcpkg安装glew、freeimage、ceres等库(3)最后在colmap源代码目录下的build文件夹打开cmd,输入cmake命令生成解决方案

0 预安装

CMake、Git、Visual Studio 2019、Vcpkg等提前安装好,vcpkg和git可以参考博客
并在系统环境变量中添加CMake和Git,如下所示:

Colmap编译教程及笔记 [Windows+VS2019+Vcpkg]

注意:环境变量换成自己安装的位置,切勿照搬。VS2019一定要安装英文版!!!(为了方便vcpkg)。

1. Qt、CUDA、Boost、CGAL的安装

COLMAP官方安装指南首推vcpkg安装,其次利用python安装脚本,如下所示:
从中可以推测需要我们自己安装的主要就是boost、qt、cuda和cgal。

python scripts/python/build.py \
    --build_path path/to/colmap/build \
    --colmap_path path/to/colmap \
    --boost_path "C:/local/boost_1_64_0/lib64-msvc-14.0" \
    --qt_path "C:/Qt/5.9.3/msvc2015_64" \
    --cuda_path "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v8.0" \
    --cgal_path "C:/dev/CGAL-4.11.2/build"

1.1 Boost安装

以下为参考博客的摘抄:

1)打开cmd,进入boost文件夹,有一个批处理文件bootstrap.bat。
2)在cmd输入命令bootstrap.bat,运行结束会出现b2.exe或者bjam.exe(没区别,作者是两个都生成了)。
3)然后在cmd输入命令bjam.exe。会出现一个文件夹lib64-msvc,里面装着boost的各种库。
ps:这里可能在运行了bjam之后没有出现这个文件夹(作者本人就是),
重新输入命令bjam install --toolset=msvc-14.1 address-model=64 --prefix=“D:\remote-sensing\colmap\boost_1_64_0\lib64” link=static runtime-link=shared threading=multi debug release。(VS2019改为msvc-14.2,prefix路径改成自己对应的路径)生成lib64文件夹,lib64->lib中装着boost的库。

我的安装目录如下,其中msvc-14.2指的是VS2019:
Colmap编译教程及笔记 [Windows+VS2019+Vcpkg]

1.2 CUDA安装

以下内容为参考博客的摘抄:
CUDA下载,第一次会让设置临时解压目录,第二次会让设置安装目录,解压目录之后会消失,不要选择相同目录做安装目录。
安装目录建议直接选择默认路径,我的默认安装路径为:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2
Colmap编译教程及笔记 [Windows+VS2019+Vcpkg]

安装时选择“自定义安装”,不选“精简”。选择程序组件时,注意不要勾选“Nsight Systems”,“Nsight Compute”
“CUDA”下的 “Runtime”、“Development”、“Documentation”、“Samples”,这四项是必选的
Colmap编译教程及笔记 [Windows+VS2019+Vcpkg]
下述的其他选项根据情况自己选择即可,安不安装应该关系不大:

  1. 取消勾选NVIDIA GeForce Experience(有的cuda版本没有此选项)
  2. 如果之前没有更新驱动,在这里可以勾选“Other components”和“Driver component”,否则也取消勾选
  3. “Visual Studio Integration”这一项没有使用VS环境可以不选

1.2.1 CUDA环境变量

Colmap编译教程及笔记 [Windows+VS2019+Vcpkg]

1.2.2 CUDA和驱动验证

打开cmd输入nvidia-smi可查找驱动的版本,如下所示。我电脑的驱动版本是462.30,最高可支持CUDA11.2版本。
Colmap编译教程及笔记 [Windows+VS2019+Vcpkg]

但实际上我只装了CUDA10.2版本,输入nvcc --version可以查看,如下所示:
Colmap编译教程及笔记 [Windows+VS2019+Vcpkg]

COLMAP的Cmakelist.txt写了这样一句,

message(STATUS “Enabling CUDA support (version:
${CUDA_VERSION_STRING},”
" archs: ${CUDA_ARCH_FLAGS_readable})")

具体到CMake的编译LOG为:
Colmap编译教程及笔记 [Windows+VS2019+Vcpkg]

说明该句可以显示安装CUDA的版本以及算力版本,编译一些CUDA代码时候就需要填写sm_75。

1.3 Qt安装

Qt官方下载地址
以5.14.2为例,进入网站后依次进入:5.14>5.14.2>qt-opensource-windows-x86-5.14.2.exe,下载exe.
Colmap编译教程及笔记 [Windows+VS2019+Vcpkg]
一般安装以下几种:
Colmap编译教程及笔记 [Windows+VS2019+Vcpkg]

注意Qt版本:MSVC和MinGW版本的区别。msvc使用的是vs的编译器,这个版本主要用于PC开发;MinGW版本使用MinGW编译器,主要用于跨平台开发。两个版本的Qt配置方式完全不同。因此,为了能是colmap-gui能正常运行,必须安装qt-msvc,同时添加环境变量如下所示。

Colmap编译教程及笔记 [Windows+VS2019+Vcpkg]

1.4 CGAL安装

从5.0版本开始,CGAL仅是一个头文件库,这意味着CGAL无需编译,只需安装好CGAL的依赖项即可。

  • CGAL主要依赖项是boost
  • CGAL还依赖GMP和MPFR(CGAL会提供编译好的,见下图)
  • 如果需要使用CGAL的可视化功能,则还需要Qt库

1.4.1 CGAL下载和解压(不编译)

CGAL的GitHub下载两个zip:
Colmap编译教程及笔记 [Windows+VS2019+Vcpkg]
auxiliary解压后放到CGAL-5.5里面
Colmap编译教程及笔记 [Windows+VS2019+Vcpkg]

1.4.2 vcpkg安装CGAL

我在安装colmap之前已经用vcpkg安装OpenMVS时已经装过CGAL。
在 vcpkg安装目录下输入:vcpkg list cgal, 可以查看CGAL安装的版本是5.5,如下所示。
没有安装则输入:vcpkg install cgal::x64-windows
Colmap编译教程及笔记 [Windows+VS2019+Vcpkg]

2. Vcpkg安装glew、Ceres、

以下内容来自参考博客:

2.1 Ceres solver

如果是手动安装的话,非常麻烦,所以这里通过vcpkg 方式来安装

vcpkg install ceres[suitesparse,cxsparse]:x64-windows --recurse

同时在C:\local\dev\vcpkg\packages\ceres_x64-windows\share\ceres(根据你的vcpkg安装目录设置)路径下修改CeresConfig.cmake,将其改成如下(否则cmake无法找到ceres)
Colmap编译教程及笔记 [Windows+VS2019+Vcpkg]

2.2 vcpkg 安装freeimage 、glew(boost和CGAL可选)

如果已经安装并编译了boost,且系统环境变量已添加,那么可以不用vcpkg安装boost,CGAL同理。
Colmap编译教程及笔记 [Windows+VS2019+Vcpkg]

这里安装完毕后,需要去修改colmap 的CmakeLists,如下:(windows 太坑,区分大小写)
Colmap编译教程及笔记 [Windows+VS2019+Vcpkg]

3. 使用CMake生成COLMAP.sln解决方案

打开cmd,进入colmap 3.7/build 文件夹,输入命令:
cmake -G "Visual Studio 16 2019" -DCMAKE_TOOLCHAIN_FILE=C:\local\dev\vcpkg\scripts\buildsystems\vcpkg.cmake ..
其中"Visual Studio 16 2019"表示我电脑上的安装的是VS2019,"DCMAKE_TOOLCHAIN_FILE="后面的路径替换成你的vcpkg安装地址。

4. 打开.sln,解决方案配置选择Release+x64,然后编译

ALL_BUILD>右键>Build
Colmap编译教程及笔记 [Windows+VS2019+Vcpkg]

5. 启动GUI

打开cmd,进入目录(换成你的路径)\colmap-3.7\build\src\exe\Release,输入colmap -h可以查看使用说明,输入colmap gui可以打开窗口程序。Colmap编译教程及笔记 [Windows+VS2019+Vcpkg]文章来源地址https://www.toymoban.com/news/detail-401895.html

到了这里,关于Colmap编译教程及笔记 [Windows+VS2019+Vcpkg]的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • opencv源码编译及配置完整版教程(win10+vs2019+opencv-4.4.0+opencv_contrib-4.4.0)

    官网下载:https://visualstudio.microsoft.com/zh-hans/vs/older-downloads/ 下载对应的2019版本,免费的community版本即可,安装按照正常的步骤安装完成即可。 Opencv一般从github上下载:https://github.com/opencv 下载opencv和opencv_contrib,分别点击对应位置进入: 然后点击tags,选择自己需要的版本:

    2024年02月09日
    浏览(41)
  • vs2015、vs2017、vs2019、msvc自动编译脚本

    rem 记录编译时间 echo ** 版本构建开始时间: %date% %time% build.log rem 设置编译器进程名 set DstProgram=devenv.exe rem 搜索目标进程以及其目录 echo 正在搜索\\\"%DstProgram%“, 请稍候… for %%a in (“C:Program Files (x86)”, “C:Program Files”, “D:Program Files (x86)”, “D:Program Files”) do for /f “delim

    2024年02月06日
    浏览(79)
  • VS2019远程编译arm程序

    目录 第一步、远程连接arm 第二步、选择编译器 第三步、选择好后配置JSON文件 第四步、进行Cmake远程编译 第五步、开始编译 打开vs2019 选择 【工具】--【选项】--【跨平台】连接远程arm 添加linux -GCC编译器 以上完成后就可以按照一般的方式对cmake跨平台的代码在远程arm上进行

    2024年02月08日
    浏览(47)
  • vs2019 中编译和使用 protobuf 库

    protobuf 是一种跨平台的序列化结构数据的方法,可用于网络数据传输及存储。 本文对使用 vs2019 编译 protobuf 库文件进行说明,相关代码及安装文件均来自官网下载。 ①.生成 sln 工程文件 打开 cmake ,然后选择 protobuf-v3.19.4 目录中的 cmake 文件夹 单击 configure 按钮,在打开界面

    2024年02月08日
    浏览(40)
  • VS2019编译UE4 4.27.2时出现编译报错

    完整的报错: 1.内部编译器错误。 UE4 D:UE4UnrealEngine-4.27.2-releaseEnginePluginsVirtualProductionRemoteControlSourceRemoteControlPrivateRemoteControlPreset.cpp 1870 2.严重性    代码    说明    项目    文件    行    禁止显示状态 错误    MSB3073    命令“....BuildBatchFilesRebuild.bat

    2024年02月14日
    浏览(43)
  • VS2019编译生成动态链接库dll的两种方式

     dll项目的默认结构如下:  四个文件的内容因为是默认生成的,不是特别重要, 接下来就是重要的修改部分: 方法一: 修改“pch.h”和“dllmain.cpp”文件,可以参考以下博主链接,但博主的引用部分有些繁琐,文末会介绍我的引用方法,和正常引用外部库步骤是一样的。这

    2023年04月09日
    浏览(47)
  • opencv4.7.0 win10 源码编译 vs2019 cmake

    步骤: ① 编译opencv源码;注意几个下载内容;根据cmakedownloadlog.txt中的说明 ② 生成opencv.sln,先使用ALL_BUILD生成 ③ 然后对install工程进行生成 ④ 使用:离线使用,opencv文件夹 install的include lib bin 等复制到当前工程下的文件夹;然后配置属性     配置属性时注意一下路径,工

    2024年02月04日
    浏览(66)
  • windows驱动开发-vs2019-vs2022 WDK开发环境搭建

    QQ群: 852283276 微信: arm80x86 微信公众号: 青儿创客基地 B站:主页 https://space.bilibili.com/208826118 好久不开发Windows驱动,现在又变天了,微软的工具更新的非常快,Visual Studio和WDK都发了新版本,推荐安装新版本,但如果非想安装老版本,也可以。Visual Studio 2022不支持Windows 1

    2024年02月04日
    浏览(72)
  • 解决MATLAB2020B关于找不到vs2019C++编译器问题

    在配置 matlab 深度学习环境过程中,出现找不到 vs219C++编译器 问题,尝试了各种办法,还是失败,经过摸索和结合他人经验,最终成功,予以总结,供需要的朋友们参考 配置: matlab2020b、vs2019 ,其他版本方法类似 1.matlab中运行mex-setup  出现问题,叫我安装MinGW-w64,但由于后

    2024年02月16日
    浏览(56)
  • VS2019编译OSG3.7.0+OSGEarth3.3+OSGQt

    网上搜索发现关于这几个库编译过程的文章甚至要订阅才能看,在此做个详细记录。 这里使用的 cmake-3.18.3 、 VS2019 和 Qt5.15.2 进行编译。 下载不多赘述,在github上下master版本就是3.7.0版本。 另外还需要 3rdParty_VS2017_v141_x64_V11_full 和 OpenSceneGraph-Data-3.4.0 可以在OSG英文官网中下载

    2023年04月08日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包