MVE在Windows下利用VS编译源码

C++和VS都小白一枚,最近开始学三维重建,正好了解到MVE(Multi-View Environment),就在GitHub上找到源码视图运行。

一开始看到的是simonfuhrmann的GitHub页面,刚准备无脑下载运行,偶然看到有篇文章也同样是记录MVE的编译过程,就参考了这篇文章进行操作。

下载源代码并不是上面simonfuhrmann的mve页面,而是另一个大神的代码:
https://github.com/andre-schulz/mve/tree/cmake

然后顺着官方教程走:先把3rdparty下的CMakeLists.txt拿去cmake一下

于是我下载了cmake
cmake
cmake-gui
选择CMakeLists.txt的目录,默认默认默认后点击configure,上面出现CMAKE_INSTALL_PREFIX是红色的,查了资料才知道这是要设定cmake之后文件要放的位置,新建了个文件夹给他,再configure一次,明明configure done了还出现了上面的一大串什么东西,也不知道是不是报错。

当时直接generate了,也能正常生成sln文件,但是不能成功运行,生成的非常非常慢。趁着运行的时候搜了其他资料,有说到关掉再开,我就尝试关闭,VS又提示必须停止生成,再看一眼人家的评论说强退,我就打开任务管理器结束任务。再打开sln,果然不能成功打开,给坑了!

于是我就把生成的sln那些文件全删了再来一次,这次就放着运行。一觉醒来还是失败,报错和输出忘记截图了,当时就觉得肯定是前面cmke那里有问题,打算跟着参考文章走。

参考文章中在cmake的时候是在cmd中运行的,所以肯定cmd得先能够识别出cmake,因此我就把cmake的bin路径放到了系统变量path里:
系统变量
检查一下:cmd检查
可以检测得到,那就开始:
打开cmakelists的路径,点上面路径这里输入cmd就能直接进入该路径:
刷黑输入cmd
直接进入该文件夹
然后cmake!
好像没有任何问题
3rdparty文件夹就出现了sln文件
sln!
打开sln文件,设置release,x64,直接绿色三角形,苦苦等待
第二天起来还是报错了
四个主要错误
这下就清楚了,某些文件要下载,但是下载不下来。查了下资料,才知道要科学上网,我就试了一下,打开cmakelists,把所有的网址都试了一下,都能下载成功:
都下好了
然后把之前运行生成的都删了,再次cmake,然后开着科技让它运行。
一觉醒来还是这个四个报错。
气笑了

那么换一个思路:我能不能直接让sln用我已经下载好的文件?
先来个最基础的尝试:对应的丢进他们的下载位置。
创建了build时生成的文件夹,文件放进去,运行一下,当然还是不行,照样报错。

为什么不行?因为这是按照cmakelists的内容来下的,获取url,校对哈希值……所以仍然要回到cmakelists上,需要修改的是cmakelists。

我看到之前文件管理器的路径,就想到了这个会不会也是个url?于是尝试把一个测试文件的完整路径直接输入到浏览器里面,结果浏览器弹出下载完成,下载的东西正是我的测试文件。

那不就好说了!
修改3rdparty的cmakelists,每一个url都改成我刚刚放的路径,复制过去就完事了吧!
但是这有八九个项目,每个项目都有cmakelists,要一个个复制过去?我又回想起最开始,这个文件夹里面只有一个cmakelists,经过cmake才出现了sln文件,以及里面包括的项目。那不就只要改最最核心的那个cmakelists再cmake,不就都可以了?

直接全删,替换url
只改了url
用cmd进行cmake:cmake报错
这次在cmake阶段就报错了?查看内容发现可能是路径格式问题:

直接从文件管理器复制得到:
E:\B\VisualStudio\mveneed
\是反斜杠,但是cmake里的路径是正斜杠/,因此还需要全部替换一下,再进行cmake:
成功
成功!打开sln文件,release,x64,绿色三角形,睡一觉
nice
没有报错,但是弹出了一个无法启动程序:弹窗
但是看VS的输出没问题,没有报错,那就当没问题了,ALL BUILD项目应该只是提示一下而已。

终于来到了官方教程的第二步:mve-cmake下进行cmake
成功
sln出现
打开sln文件,release,绿色三角形,这次很快,同样弹出了ALL BUILD的弹窗,就当没问题。
成功!
继续对CMakePredefinedTarget的PACKAGE单独右键生成
生成
成功
成功!得到压缩包就是最终结果!结束!

大功告成!上面四个需要科学下载的文件我上传到了GitHub上:https://github.com/onecoled/mve-need

下一步就是学习MVE的使用啦

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值