最详细简单的OpenMVS环境配置(Windows,VS2019+Vcpkg)(2024/01/26)

  • 写于 2024/01/26

目录

一、配置前的准备

1.CMake

2.Vcpkg

3.Visual Studio要修改带有【英语】语言

4.设置环境变量(option)

5.cuda(option)

二、安装依赖库及过程问题总结

三、克隆与编译

1. 克隆部分

2. 编译部分


一、配置前的准备

1.CMake

具体安装请参阅:

Windows下的CMake详细安装教程(2024/1/24)-CSDN博客

2.Vcpkg

具体安装请参阅:

C/C++的包管理——Vcpkg(2024/01/25)-CSDN博客

3.Visual Studio要修改带有【英语】语言

具体方式请阅读:

C/C++的包管理——Vcpkg(2024/01/25)-CSDN博客

4.设置环境变量(option)

①右键点击【此电脑】,选择【属性】-->【高级系统设置】

②选择【环境变量】

③在系统变量中点击【新建】,设置好下图所示【变量名】和【变量值】,点击【确定】

5.cuda(option)

建议安装上,否则应在openMVS的CmakeLists.txt中禁用cuda

具体安装请参阅:

Windows下的CUDA与cuDNN详细安装教程(2024/01/26)-CSDN博客

二、安装依赖库及过程问题总结

前提:Vcpkg已集成到VS

1.安装依赖库

①在Vcpkg的安装根目录,右键打开终端

②运行下面的安装命令

.\vcpkg install zlib:x64-windows boost:x64-windows eigen3:x64-windows ceres:x64-windows opencv:x64-windows cgal:x64-windows glew:x64-windows glfw3:x64-windows

安装第三方库的过程会很长,耐心等待。

安装完成后,再次运行上述命令,则可看到所需依赖均已安装成功:

2.问题总结

由于我在本次安装依赖过程中未遇到问题,故无法给出具体案例。

一般Vcpkg报错问题都形如:

Building package xxx:xxx-windows failed with: BUILD_FAILED

而不同的库出现问题有不一样的解决办法,这里我将把我之前遇到的一些问题进行总结:

1)网络问题

这个问题很好解决,一般解决思路如下:

以LLVM为例

方法1——该方法不局限于因网络问题的报错,如果你觉得下载过程十分缓慢还可手动下载downloading部分

①当出现上述红色报错或你觉得下载很慢时,向上找Downloading部分:

②复制网址到浏览器,下载LLVM-15.0.6-win64.exe

③重命名该文件为“ -> ”之后的名字(如果名字一样,可不必修改)

④将重新命名好的文件,复制至以下路径:

path to your vcpkgFolder/downloads

⑤重新运行依赖安装命令

如果你很懒,就直接重新运行【1.②】中的依赖安装,则可继续进行OpenMVS的依赖安装。

方法2——仅限于上述红色报错依赖:

.\vcpkg install xxx:xxx-windows --x-use-aria2

如果你的网络实在不行,使用该方法也不行,那么参考方法1进行解决

2)存储空间不足

当编译过程中出现存储空间爆红时,也会结束编译,报红色错误

解决方法就是扩充存储空间

3)中文路径

当你的电脑中存在中文路径时,会报上述红色错误

需要检查你的C盘用户名是否为英文,如果不是,那么需要重新建一个英文名账户,之后重新安装依赖

4)VS没有勾选【英语】语言

这种情况一般会出现在zlib的编译过程,去【Visual Studio Installer】里修改即可

以上问题多由于没有具体案例,需要大家自行判断解决,如果出现问题解决不了,可在评论区留言,我看到会及时回复。

三、克隆与编译

1. 克隆部分

新建一个存储源码的文件夹,我这里新建了srcCode

在该文件夹中使用git:

1)VCG的克隆

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

2)OpenMVS的克隆

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

得到以下两个路径:

E:\srcCode\OpenMVS  #我自己重新命名过文件夹名字,你的应该是openMVS

E:\srcCode\VCG

2. 编译部分

1)在该文件夹内E:\srcCode\OpenMVS,新建文件夹

openMVS_build

2)右键打开终端

3)运行以下命令,记得要将路径更改为自己的文件路径

cmake .. ..\src -G "Visual Studio 16 2019" -A x64 -DCMAKE_TOOLCHAIN_FILE=E:\myVcpkg\vcpkg\scripts\buildsystems\vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows -DVCG_ROOT="E:\srcCode\VCG"

参数:

  1. cmake : 这是CMake命令行工具的调用。
  2. .. : 这是指定CMake的工作目录。在这种情况下,.. 表示CMake应该在当前目录的上一级目录中寻找CMakeLists.txt文件。
  3. ..\src : 这是指定要构建的源代码目录的路径。在我这里,源代码位于当前工作目录的上一级目录中的src文件夹中。
  4. -G "Visual Studio 16 2019" : 这个参数指定生成的构建系统的类型。在这种情况下,它告诉CMake生成Visual Studio 2019的项目文件。
  5. -A x64 : 这个参数指定了目标架构,即生成的项目文件将针对64位架构进行编译。
  6. -DCMAKE_TOOLCHAIN_FILE=E:\myVcpkg\vcpkg\scripts\buildsystems\vcpkg.cmake : 这个参数指定了CMake使用的工具链文件的路径,它告诉CMake使用vcpkg提供的工具链文件,以便在构建过程中处理依赖项。
  7. -DVCPKG_TARGET_TRIPLET=x64-windows : 这个参数指定了vcpkg的目标平台,它告诉vcpkg使用x64-windows作为目标平台。
  8. -DVCG_ROOT="E:\srcCode\VCG" : 这个参数定义了一个名为VCG_ROOT的CMake变量,并设置其值为"E:\srcCode\VCG"。这个变量用于指定VCG库的根目录。

其中,参数-G "Visual Studio 16 2019",可通过在终端运行cmake -G查看

4)如下图所示即代表编译完成

可以看到,我们的项目已经存在于openMVS_build

5)使用VS2019打开OpenMVS.sln

6)在解决方案资源管理器里,展开【CMakeTargets】,在【ALL_BUILD】上右键选择【生成/build】,等待即可

可自行选择Debug或Release模式

7)环境配置成功

如上图所示,当build完成时,没有失败,即代表成功

写在最后:

不知道你跟随这篇教程编译成功了没有,成功了就给自己竖个大拇指吧!你在这篇教程里了解了Cmake,Vcpkg和VS的项目编译过程,已经成长了许多,接下来可以去阅读和调试代码了。

如果没有成功也不要放弃,多去做尝试,编译是个枯燥考验耐心的过程,不可能一蹴而就,中间会遇到各种各样的奇奇怪怪的问题,有些作者也没有遇到过,也需要去和大家一样将bug一点点消除,多利用好网络资源,多动手自己去解决,这样才能加深对项目编译的理解。

当遇到问题时,可以到项目的issue中去寻找答案,或直接在issue中对作者进行提问,除了github,国外的Stack Overflow也可以去查找你的问题。

总之,保持耐心,多花费时间去解决问题,多做记录,积累经验,才能更好的成长。

转载请标明出处
如果还有问题,欢迎在评论区留言或私信
作者:CodeLearing
主页:https://blog.csdn.net/weixin_52677672?type=blog
qq群:958124241
Learn Together!

  • 28
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值