Windows+VS2019用vcpkg编译colmap以及用Cmake编译colmap源码

文章介绍了如何在Windows下利用VisualStudio2019和vcpkg工具编译colmap,包括解决boost下载失败和CUDA未识别的问题。在vcpkg中安装colmap时遇到问题,如需调试代码则需自行编译源码。通过CMake编译colmap源码时,需指定CUDA架构并解决依赖问题。
摘要由CSDN通过智能技术生成

Windows+VS2019用vcpkg编译colmap以及用Cmake编译colmap源码

Window下官方建议用vcpkg安装。这里我已经安装好了VS2019以及cuda11.7。

1.安装vcpkg

git clone https://github.com/microsoft/vcpkg
cd vcpkg
.\bootstrap-vcpkg.bat

2. 使用vcpkg编译colmap

.\vcpkg install colmap[cuda,tests]:x64-windows

3.出现的问题

1.boost总是下载失败
在这里插入图片描述
在编译信息里找到这个包对应的下载地址,然后在浏览器打开这个网址下载这个包,然后放在vcpkg/downlowds文件夹下,而且要记得把包名修改成对应的名字。
然后重新编译
2.显示没有安装cuda
编译时报错 cuda NO-FOUND
安装完cuda之后,输入nvcc --version还是显示没有安装
解决方法:要在环境变量里添加上cuda的路径
在这里插入图片描述
然后再重新编译。
遇到还有其他一些问题导致编译中止或失败的,就重新编一下,有时候重编一下就过去了
最后,在命令行执行

<VCPKG-ROOT>\packages\colmap_<TRIPLET>\tools\colmap\colmap.exe gui

就可以调出colmap的gui界面了

4.colmap源码编译CMake

但是,咱就是说用vcpkg编出来的colmap不能调试代码,giao,还是自己编译源码吧。

4.1.源码下载

https://github.com/colmap/colmap
也可以在命令行cd到想要放置源码的路径,然后使用git下载

git clone https://github.com/colmap/colmap

4.2.CMake编译

我下载了最新版的cmake-3.26
因为编译colmap所有的库在vcpkg里面都能找到,所以让cmake找到vcpkg里所有的包就行

首先在colmap源码文件夹下新建build文件夹,在CMake里填上对应路径
在这里插入图片描述
点击configure,进行设置,选择Specify toolchain file for cross-compiling ,然后vcpkg.cmake的路径
在这里插入图片描述
在这里插入图片描述
确认后开始编译,cmake就会自己在vcpkg里面找到所需要的包
出现报错信息

CMake Error at CMakeLists.txt:255 (message):
  You must set CMAKE_CUDA_ARCHITECTURES to e.g.  'native', 'all-major', '70',
  etc.  More information at
  https://cmake.org/cmake/help/latest/prop_tgt/CUDA_ARCHITECTURES.html

解决方法:在CMakeList里面加上

set(CMAKE_CUDA_ARCHITECTURES "native")

编译通过。
Tips:以上步骤同样能解决以下cmake找不到BOOST的报错

Could NOT find Boost (missing: unit_test_framework) (found version "1.81.0")

最后感谢实验室top博士的帮助,牛的嘞

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值