VS2015配置openMVG与openMVS全攻略:CUDA注意事项与错误解决

需积分: 27 10 下载量 63 浏览量 更新于2024-07-20 1 收藏 2.23MB DOCX 举报
"VS2015环境下配置openMVG和openMVS的步骤,需注意CUDA兼容性问题,库的动态与静态链接选择,以及VS2015的内部错误C1001的解决方案。" 在配置openMVS和openMVG项目时,特别是在Visual Studio 2015 (VS2015)环境中,有几个关键点需要注意。首先,如果你的系统已经安装了CUDA,由于CUDA 7.5不支持VS2015,所以你需要在配置openMVG和openMVS时取消与CUDA相关的选项,如WITH_CUDA、BUILD_CUDA_LIB、OpenMVS_USE_CUDA等。若使用VS2013或更早版本,你可以考虑安装CUDA并启用CUDA支持。 其次,库的链接方式也必须正确设置。OpenCV和GoogleFlags应配置为动态库,这意味着在构建这两个库时,你需要勾选BUILD_SHARED_LIBS选项。而其他库则应被链接为静态库,避免勾选任何SHARED_LIB选项。 对于VS2015的一个已知问题,可能会在编译OpenMVS时遇到内部错误C1001。这是一个编译器错误,解决方法是修改Eigen库中的代码。具体来说,需要在generalmatrixmatrix.h文件的第144行(针对Eigen 3.2.7版本,其他版本需要自行查找相应位置),将"–(info[j].users)"改为"info[j].users -= 1"。 在组织文件结构方面,建议在C盘创建一个名为openMVS的文件夹,包含所有所需软件库的子文件夹。同时,创建src和build两个子文件夹,src存放openMVS源代码,build用于存放编译生成的文件。 配置OpenCV的过程包括: 1. 下载OpenCV的exe安装包,安装到openMVS/openCV目录下,保留sources文件夹。 2. 使用cmake-gui,设置source code为openMVS/openCV/sources,build为openMVS/build/openCV,然后配置为VS2015 64位编译环境。 配置完成后,继续配置其他依赖库,例如GoogleFlags、OpenMVG等,确保所有库都能正确链接并成功编译。这个过程可能涉及更多的CMake设置和编译选项调整,以适应特定的开发环境和需求。在每个步骤中,都应仔细阅读相关库的文档,了解其依赖项和配置选项,以确保顺利构建和运行openMVS和openMVG项目。