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

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博士的帮助,牛的嘞

### 如何在 Windows 系统上安装 COLMAP #### 使用 vcpkg 安装 COLMAP COLMAP 的官方安装指南推荐通过 vcpkg 来完成依赖项的管理以及软件本身的编译和安装。以下是具体操作: 1. **安装 vcpkg** 下载并初始化 vcpkg 工具链,这是 Microsoft 提供的一个跨平台库管理工具[^3]。 ```bash git clone https://github.com/microsoft/vcpkg.git cd vcpkg .\bootstrap-vcpkg.bat ``` 2. **集成 vcpkg 到开发环境** 运行以下命令以启用 vcpkg 对 Visual Studio 或其他构建系统的支持: ```bash .\vcpkg integrate install ``` 3. **安装 COLMAP 所需依赖项** COLMAP 主要依赖于 Boost、QT 和 CGAL 库。可以通过 vcpkg 自动化这些依赖项的安装过程: ```bash .\vcpkg install boost qt5-base cgal cuda --triplet=x64-windows ``` 4. **克隆 COLMAP 源码** 从 GitHub 上获取 COLMAP 的源代码仓库,并切换至目标分支(通常是 `master` 分支): ```bash git clone https://github.com/colmap/colmap.git cd colmap ``` 5. **配置 CMake 构建选项** 创建一个单独的目录用于存储构建产物,并运行 CMake 命令来设置项目参数。注意指定 CUDA 架构为 `native` 可能会减少兼容性错误的发生概率[^5]。 ```bash mkdir build && cd build cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release \ -DBoost_ROOT=C:/path/to/boost \ -DQT_QMAKE_EXECUTABLE=C:/path/to/qt/bin/qmake.exe \ -DCUDA_TOOLKIT_ROOT_DIR=C:/Program\ Files/NVIDIA\ GPU\ Computing\ Toolkit/CUDA/vXX.X \ -DCMAKE_CUDA_ARCHITECTURES=native ``` 6. **执行构建流程** 调用 ninja 编译器生成最终的应用程序二进制文件: ```bash ninja ``` 7. **验证安装成功与否** 成功完成后,在 `build/src/exe` 文件夹下应该能找到名为 `colmap.exe` 的可执行文件。 #### 替代方案:直接使用预编译COLMAP 如果不想经历复杂的编译环节,则可以直接访问 COLMAP 官方网站下载适用于 Windows 平台的 ZIP 归档包[^2]。解压之后记得把其中的 `bin` 子目录加入全局 PATH 环境变量以便随时调用该工具。 需要注意的是,当存在多个版本冲突时(比如 Conda 中也包含了相同名称但功能不同的模块),可能需要先卸载旧有实例再重新指向新位置下的 EXE 文件。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值