总的来说,参考了openmvg、colmap windows10编译经验文档_vcpkg openmp-CSDN博客
跟着教程过一遍的过程中有这些经历:
- qt5我是安装了所有内容,20GB的,如果少了哪些部分估计没影响吧,不过我没试过
- 教程中提到的cmake find qt不是一个指令,这个可以在最后用cmake生成sln的时候观察控制台的log信息可以验证(那个教程的3、cmake log的章节部分)
- 手动安装ceres时把那个false改成true我是做了的
- 第2步中说的“这里安装完毕后,需要去修改colmap 的CmakeLists,如下:(windows 太坑,区分大小写)”,指的是把GitHub - colmap/colmap: COLMAP - Structure-from-Motion and Multi-View Stereo 这个项目`gh repo clone colmap/colmap` 下载下来后的文件夹
- 教程说这个colmap项目中的cmakelists有东西需要修改,但是现在(20240518)得到的版本中,cmakelists没有这部分的代码,而是在`cmake/FindDependencies.cmake` 这个文件中,有以下代码,是教程中提到的那部分功能的代码
... find_package(Boost ${COLMAP_FIND_TYPE} COMPONENTS filesystem graph program_options system) find_package(Eigen3 ${COLMAP_FIND_TYPE}) find_package(FreeImage ${COLMAP_FIND_TYPE}) find_package(FLANN ${COLMAP_FIND_TYPE}) find_package(LZ4 ${COLMAP_FIND_TYPE}) find_package(Metis ${COLMAP_FIND_TYPE}) ...
- 这个地方我就原样保持没改,没有按照教程说的改大小写
- 然后就是在colmap项目根目录下创建build文件夹并进入其中,在那里打开cmd,执行
cmake .. -DCMAKE_TOOLCHAIN_FILE=path/to/vcpkg/scripts/buildsystems/vcpkg.cmake
- 这在教程中也有,不过我用了vs2022也是可以的
-
最后教程说打开sln然后切换到release再直接生成解决方案,这一步在我这,没有在生成的\x64\Release\ALL_BUILD文件夹生成什么colmap.exe,而是只有三四个log文件
- 这一步直接看官方的从源码编译教程 Installation — COLMAP 3.9-dev documentation 找到vcpkg这里的最后一个代码块。我的话按照它说的,在这个build文件夹下执行这个代码,然后就能在`path\to\colmap\build\src\colmap\exe\Release`中看到你的colmap.exe了
cmake --build . --config release --target colmap_main --parallel 24
- 最后不要忘记把有colmap.exe的那个文件夹加入系统环境变量