Win10下编译OpenMVS【VS2017+CMake+Git+Vcpkg】

目录

  • 总论
  • 1. 工具准备
    • 1.1 VS2017下载和安装
    • 1.2 CMake下载和安装
    • 1.3 Git下载和安装
    • 1.4 Vcpkg下载和配置
  • 2.编译
    • 2.1 创建顶层文件夹
    • 2.2 Vcpkg下载编译OpenMVS所需依赖包
    • 2.3 Git获取所需源码
    • 2.4 创建编译文件夹
    • 2.5 CMake编译OpenMVS源码
    • 2.6 VS2017编译项目

总论

OpenMVS是个开源的库,源代码在GitHub上,当然,作者也给出了编译步骤,但编译过程有点太过简略。作为一个编译小白的我经过千辛万苦才把它捋顺,这篇博客就是面向小白的。

1. 工具准备

1.1 VS2017下载和安装

这个我就不详细讲了,记得勾选红框标识的东西。
Win10下编译OpenMVS【VS2017+CMake+Git+Vcpkg】_第1张图片
Win10下编译OpenMVS【VS2017+CMake+Git+Vcpkg】_第2张图片

1.2 CMake下载和安装

CMake是用来帮我们构建VS工程的。去CMake官网下载就行,这个不需要安装,下载之后解压了就能用。
Win10下编译OpenMVS【VS2017+CMake+Git+Vcpkg】_第3张图片

1.3 Git下载和安装

Git是一个代码托管仓库。同样,它是个免费软件,直接去官网下载即可。下载好了之后我们后面要用到GitBash。
在这里插入图片描述

1.4 Vcpkg下载和配置

Vcpkg是一个非常方便的自动编译的工具,OpenMVS可以直接只用它来下载编译,但是,这种简单的方法是编译好的库。我想要的是可以在VS中编译,调试修改源码的那种。所以我用VS来编译OpenMVS。
我下载Vcpkg是用来下载编译OpenMVS所以依赖的包和库(Eigen、Ceres等)。
简单的学一下,这里是学习Vcpkg的好文章。

2.编译

2.1 创建顶层文件夹

打开Git Bash,显示出黑框之后,进入你要创建的顶层文件夹的父级(下面的第一行命令),比如,我在要在我D盘的D:\MyCompile\MVS目录下创建顶层文件夹(下面的第二行命令),文件夹名字叫OpenMVS(想起什么起什么),注意路径别有英文。然后进入你所创建的顶层文件夹(地面的的第三行命令)

cd D:\MyCompile\MVS
mkdir OpenMVS
cd .\OpenMVS

Win10下编译OpenMVS【VS2017+CMake+Git+Vcpkg】_第4张图片

2.2 Vcpkg下载编译OpenMVS所需依赖包

这里我假设你已经用windows自带的powershell编译成功了Vcpkg,接下来我们还用powershell下载依赖包。vcpkg文件夹在不在刚刚创建的顶层文件夹下都无所谓(后面CMake会自动找到这些依赖包)。

打开powershell,输入命令cd D:\vcpkg,进入vcpkg文件夹。

接着输入命令【.\vcpkg.exe install 包名:x64-windows】下载OpenMVS所需依赖包:

包名有:
zlib boost-iostreams boost-program-options boost-system boost-serialization eigen3 cgal[core] opencv glew glfw3

例如下载zlib,就输入命令**.\vcpkg.exe install zlib:x64-windows**,我们所需要的包是64位的,如果不加上:x64-windows,系统默认下载32位的。

下载完成后,去文件夹vcpkg的packages文件夹下检查是否有漏安装的。也可以在powershell中输入命令**.\vcpkg.exe list** 查看是否安装完整。

问题:如果在下载过程中报错,则很有可能是网络问题。

2.3 Git获取所需源码

打开Git Bash,进入第一步创建的顶层文件夹【cd 文件夹路径】,克隆两个源码,一个是VCG,另一个是OpenMVS。

git clone https://github.com/cdcseacave/VCG.git
git clone https://github.com/cdcseacave/openMVS.git src

Win10下编译OpenMVS【VS2017+CMake+Git+Vcpkg】_第5张图片
VCG是下在了顶层文件夹中,OpenMVS源码是下载了src中。(官方就是让这么组织文件夹的)

2.4 创建编译文件夹

编译文件夹的名字叫build

mkdir build
Win10下编译OpenMVS【VS2017+CMake+Git+Vcpkg】_第6张图片

2.5 CMake编译OpenMVS源码

万事具备了,我们用CMake来编译它(记得把安装的CMake下的bin文件夹放入系统变量中,不然在cmd中无法用cmake命令)
Win10下编译OpenMVS【VS2017+CMake+Git+Vcpkg】_第7张图片
编译很简单,不需要打开CMakeGUI手动配置,打开cmd,进入build文件夹(生成编译项目的文件夹)下,一行命令搞定

cmake . …\src -G “Visual Studio 15 2017 Win64” -DCMAKE_TOOLCHAIN_FILE=D:\vcpkg\scripts\buildsystems\vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows -DVCG_ROOT="…\VCG"

稍微解释下吧,我也是能看个半懂,"Visual Studio 15 2017 Win64"是我们VS的目标平台,如果你是VS2019,就应该改下,第二行是vcpkg里面的一个.cmake文件的路径。就这样吧。
Win10下编译OpenMVS【VS2017+CMake+Git+Vcpkg】_第8张图片

Win10下编译OpenMVS【VS2017+CMake+Git+Vcpkg】_第9张图片

2.6 VS2017编译项目

打开后缀名为sln的文件,会启动VS。随意设置一个启动项目,即可编译。比如我设置viewer
Win10下编译OpenMVS【VS2017+CMake+Git+Vcpkg】_第10张图片
Win10下编译OpenMVS【VS2017+CMake+Git+Vcpkg】_第11张图片
Win10下编译OpenMVS【VS2017+CMake+Git+Vcpkg】_第12张图片
Win10下编译OpenMVS【VS2017+CMake+Git+Vcpkg】_第13张图片

你可能感兴趣的:(编译,git,visual,studio,c++)