Windows 下编译 Open3D CUDA 版本指南
Open3D 在点云计算方面相比 PCL 具有一定优势,编译支持 CUDA 加速的版本过程较为复杂。本文记录完整流程及常见问题解决方案。
1. 环境准备
参考官方兼容性建议,配置以下软件版本:
- CUDA: 根据 GPU 型号选择兼容版本(如 RTX3050 对应 Compute Capability 86)。
- Visual Studio: 建议使用 VS2019 或更高版本。
- CMake: 确保版本兼容(如 3.18+)。
安装完成后,可在 PowerShell 中检查版本信息。
2. 源码获取
使用 Git 克隆源码并递归拉取子模块:
git clone --recursive https://github.com/isl-org/Open3D.git
若网络环境较差,可尝试使用镜像源。源码中包含多个子模块,编译时可能需要下载,建议预留足够空间。
3. CMake 配置
在源代码目录下创建构建目录(如 build 或 build_GPU),需预留 10GB 以上空间。打开 CMake GUI 进行配置:
- Source code 指向源码根目录,Build binaries 指向构建目录。
- Configure 后选择平台(如 Visual Studio 16 2019 Release x64)。
- 调整关键参数状态:
- CUDA: 选中以启用 CUDA 支持,手动添加对应的算力参数(如 86)。
- STATIC_WINDOWS_RUNTIME: 建议取消选中,以便动态调用。
- BUILD_SHARED_LIBS: 必须选中,生成动态库。
- BUILD_WEBRTC: 建议取消选中,避免引入额外依赖。
- MKL / IPPICV: 建议选中,优化计算性能。
- Python: 本指南不涉及 Python 模块,可不选。
等待 Configure 完成且无报错后,点击 Generate 生成 .sln 工程文件。
4. Visual Studio 编译
打开生成的 Open3D.sln 工程:
- 设置配置为 Release,平台为 X64。
- 生成 ALL_BUILD 项目。
- ALL_BUILD 成功后,右键 INSTALL 项目 -> 重新生成。
常见问题与解决
(1) 下载失败错误
若报错 downloading XXXXX failed,通常因网络问题导致子模块下载失败。
- 复制报错中的 GitHub 网址到浏览器手动下载。
- 将下载的文件拷贝到源码目录下的
3rdparty_downloads对应子目录中。 - 确保文件名一致,用完整文件替换不完整文件。
(2) MKL 头文件链接错误
在 Open3D v0.18.0 版本中,可能遇到如下错误:
downloading :


