Win10x64_VS2019搭建最新版openMVG+openMVS

VS2019 WIN10 配最新版(截止2022.5.16)踩了好多坑,最后总算成功了。

建议有条件就换Linux或者Windows下的VS2017及以下版本(本人没条件,没条件整Linux系统,虚拟机不够用,VS2019上有好多之前的项目需要做)

看到这里的朋友请好好想想自己是否必须要在windows下配,是否必须要用VS2019。如果真的非此环境不可,那就看看我的成功记录吧,希望能给你点灵感。有问题欢迎在评论区指出,说不定有我能跨过去的坑。

一.基于方案一环境的基础上
二.单独git一份openMVS,CMake成功,编译sln成功
三.再使用此方法,成功编译openMVG

方案一

1.安装好CMake

本人下载的最新版如下
Win10x64_VS2019搭建最新版openMVG+openMVS_第1张图片添加环境变量(用户和系统都添加):
Win10x64_VS2019搭建最新版openMVG+openMVS_第2张图片

2.安装VS2019,语言一定要改成英文不要中文

添加环境变量:
Win10x64_VS2019搭建最新版openMVG+openMVS_第3张图片
D:\VS2019\VC\Tools\MSVC\14.26.28801\bin\Hostx64\x64的目的是配置cl.exe

3.安装QT5

(需要自己注册个账号,本人下的5.9.9)参考教程,添加环境变量:
Win10x64_VS2019搭建最新版openMVG+openMVS_第4张图片

4.安装NVidia和CUDA

不瞒你说,笔者作为985研究生,用的是锐龙处理器,没有显卡(实验室的工作站一直被博士师兄占用),所以这步省略。

5.下载vcpkg(顺便看一眼常用指令)

git clone https://github.com/microsoft/vcpkg

Win10x64_VS2019搭建最新版openMVG+openMVS_第5张图片

cd vcpkg
.\bootstrap-vcpkg.bat

Win10x64_VS2019搭建最新版openMVG+openMVS_第6张图片.\bootstrap-vcpkg.sh
Win10x64_VS2019搭建最新版openMVG+openMVS_第7张图片在“系统变量 ”中,点击 “新建 ”,即可新建一个变量。

变量名:VCPKG_DEFAULT_TRIPLET
变量值:x64-windows

了在Visual Studio中使用vcpkg,只需要进行一下操作,在之后的使用中就可以直接使用了(需要开启管理员权限):

vcpkg.exe integrate install

Win10x64_VS2019搭建最新版openMVG+openMVS_第8张图片
各种vcpkg指令,以备不时之需

注意:这里直接运行下面的两个指令,然后继续二、三步骤。

vcpkg install openmvg:x64-windows
vcpkg install openmvs:x64-windows

跳过6.7.8.9
如果行不通,再试试6.7.8.9+二+三。

6.安装CGAL

参考教程的注意事项

vcpkg.exe install yasm-tool:x86-windows

可能出现的问题1:
Error: vcpkg was unable to detect the active compiler’s information. See above for the CMake failure output.

解决方法:打开vcpkg/scripts/buildsystems/vcpkg.cmake这个文件在第24行添加两行代码
SET (CMAKE_C_COMPILER_WORKS 1)
SET (CMAKE_CXX_COMPILER_WORKS 1)

可能出现的问题2:
error: building yasm:x64-windows failed with: BUILD_FAILED

解决方法:国内网络太慢翻一下再执行就好了。。。
在这里插入图片描述执行vcpkg.exe install cgal,这里提示需要更新一些包,改命令为:

vcpkg.exe install cgal --recurse

Win10x64_VS2019搭建最新版openMVG+openMVS_第9张图片好像是我的磁盘空间不够了???重新运行下成功了:
Win10x64_VS2019搭建最新版openMVG+openMVS_第10张图片下载(https://github.com/CGAL/cgal/releases/download/v5.4/CGAL-5.4-examples.zip)
按照教程编译一下例子试试,通过
添加环境变量如下:
Win10x64_VS2019搭建最新版openMVG+openMVS_第11张图片

7.用vcpkg安装ceres:

vcpkg.exe install ceres
//不行的话试试下面的:
vcpkg.exe install ceres[suitesparse,cxsparse]:x64-windows --recurse

Win10x64_VS2019搭建最新版openMVG+openMVS_第12张图片

为了让CMake find ceres,在 C:\vcpkg\packages\ceres_x64-windows\share\ceres 路径下修改 CeresConfig.cmake:
Win10x64_VS2019搭建最新版openMVG+openMVS_第13张图片
改为:Win10x64_VS2019搭建最新版openMVG+openMVS_第14张图片

8.vcpkg 安装 freeimage 、glew 和 boost:

vcpkg.exe install freeimage:x64-windows
vcpkg.exe install glew:x64-windows
vcpkg.exe install boost:x64-windows

Win10x64_VS2019搭建最新版openMVG+openMVS_第15张图片查看原码,有bug,去掉endif:
Win10x64_VS2019搭建最新版openMVG+openMVS_第16张图片

9 安装colmapWin10x64_VS2019搭建最新版openMVG+openMVS_第17张图片

直接应用软件的话,前三个里选合适的就ok了,解压:
Win10x64_VS2019搭建最新版openMVG+openMVS_第18张图片双击RUN_TESTS:无误
双击COLMAP:正常打开
Win10x64_VS2019搭建最新版openMVG+openMVS_第19张图片如果需要源码编译,建议不要用vcpkg安装,如果用vcpkg会带来很多麻烦(有些库可能会更新,之前设置的环境变量需要对应改变,不信可以一试):

vcpkg.exe install colmap:x64-windows --recurse

这里本人直接下载源码,然后改动一下直接CMakelist,再CMake:
增加SET语句用于指导cmake在指定路径下寻找vcpkg中配置的库文件和头文件:SET(CMAKE_TOOLCHAIN_FILE“C:/vcpkg/scripts/buildsystems/vcpkg.cmake”)
Win10x64_VS2019搭建最新版openMVG+openMVS_第20张图片

因为本人没用CUDA所以这部分设置为OFF
Win10x64_VS2019搭建最新版openMVG+openMVS_第21张图片Windows严格区分大小写,注释中的库改为下面的小写:
Win10x64_VS2019搭建最新版openMVG+openMVS_第22张图片进入build文件夹,cmake编译colmap:

cmake -G "Visual Studio 16 2019" -DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake

或者是直接cmake-gui手动配置:
Win10x64_VS2019搭建最新版openMVG+openMVS_第23张图片
Win10x64_VS2019搭建最新版openMVG+openMVS_第24张图片Win10x64_VS2019搭建最新版openMVG+openMVS_第25张图片打开sln编译:
Win10x64_VS2019搭建最新版openMVG+openMVS_第26张图片竟然有两个错误:
Win10x64_VS2019搭建最新版openMVG+openMVS_第27张图片
查看error,发现全是FreeImage的问题:

vcpkg remove freeimage:x64-windows
vcpkg install freeimage:x64-windows --head

问题可能是在这个:
Win10x64_VS2019搭建最新版openMVG+openMVS_第28张图片查了查好像是vcpkg的bug,没办法。这里只能直接把freeimage压缩包解压,自己打开sln编译,还是不行。难产了,我怀疑是colmap的版本问题,直接上最新的:

二. 安装openMVS

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

下载VCG和openMVS

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

CMake没问题,编译没问题。

三.参考此方法,成功编译openMVG

你可能感兴趣的:(配置,自动驾驶与三维重建,visual,studio,linux,ide)