CloudCompare 2.13+ 项目编译指南
CloudCompare CloudCompare main repository 项目地址: https://gitcode.com/gh_mirrors/cl/CloudCompare
前言
CloudCompare 是一款功能强大的开源点云处理软件,支持多种点云数据处理和分析功能。本文将详细介绍如何从源代码编译 CloudCompare 2.13 及以上版本,帮助开发者或高级用户构建自定义版本。
基础环境准备
1. 必备依赖
编译 CloudCompare 需要以下基础工具和库:
- CMake:跨平台的构建工具,版本要求 3.5 及以上
- Qt 框架:版本要求 5.12 至 5.15 之间(不包含 6.0)
各平台 Qt 安装建议:
- Windows:推荐从 Qt 官网下载安装程序
- macOS:可使用 Qt 官网安装程序或 Homebrew 安装
- Linux:推荐使用系统包管理器安装
对于 Debian/Ubuntu 系统,需要安装以下包:
sudo apt-get install libqt5svg5-dev libqt5opengl5-dev qt5-default qttools5-dev qttools5-dev-tools libqt5websockets5-dev
获取源代码
CloudCompare 使用 Git 子模块管理外部依赖库和插件,因此克隆时需要添加 --recursive
参数:
git clone --recursive <仓库地址>
CMake 配置
基本配置
基础构建只需要配置 Qt 的安装路径(Windows 和 macOS 需要):
# Windows 示例
mkdir build && cd build
cmake -DCMAKE_PREFIX_PATH=C:\Qt\5.15.2\msvc2019_64 ..
# macOS 示例
mkdir build && cd build
cmake -DCMAKE_PREFIX_PATH=/usr/local/opt/qt@5 ..
# Linux 示例
mkdir build && cd build
cmake ..
安装路径配置
可通过 CMAKE_INSTALL_PREFIX
指定安装路径:
cmake -DCMAKE_INSTALL_PREFIX=/your/install/path ..
编译与安装
编译项目
cmake --build .
安装程序
cmake --install .
可选功能与插件配置
CloudCompare 提供了丰富的可选功能和插件,需要在 CMake 配置阶段通过参数启用。
核心可选功能
| 选项名称 | 默认值 | 功能描述 | |---------|-------|---------| | OPTION_BUILD_CCVIEWER | ON | 是否构建 ccViewer 查看器 | | OPTION_USE_SHAPE_LIB | ON | 启用 SHP 文件支持 | | OPTION_USE_DXF_LIB | ON | 启用 DXF 文件支持 | | OPTION_USE_GDAL | OFF | 通过 GDAL 库支持多种栅格文件 |
Windows 特有选项
| 选项名称 | 默认值 | 功能描述 | |---------|-------|---------| | OPTION_MP_BUILD | OFF | Visual Studio 多进程编译(加快速度但占用更多CPU) | | OPTION_SUPPORT_3D_CONNEXION_DEVICES | OFF | 支持 3D 鼠标设备 | | OPTION_USE_OCULUS_SDK | OFF | 支持 Oculus VR 设备 | | OPTION_USE_VISUAL_LEAK_DETECTOR | OFF | 使用 Visual Leak Detector 检测内存泄漏 |
插件系统
CloudCompare 的插件分为三大类:
1. GL 插件(图形相关)
- qEDL:Eye Dome Lighting 效果
- qSSAO:屏幕空间环境光遮蔽
2. IO 插件(文件输入输出)
- qE57IO:E57 点云格式支持(需要 libE57)
- qFBXIO:Autodesk FBX 格式支持(需要 FBX SDK)
- qLASIO:LAS/LAZ 点云格式支持(推荐)
- qPDALIO:通过 PDAL 支持 LAS/LAZ(已弃用)
- qStepCADImport:STEP CAD 文件导入
3. 标准插件(功能扩展)
- q3DMASC:自动点云分类
- qAnimation:动画制作
- qBroom:交互式点云清理工具
- qCanupo:点云分类算法
- qM3C2:稳健的点云距离计算
- qPCL:PCL 库算法接口
- qPoissonRecon:泊松表面重建
特殊插件配置说明
部分插件需要额外依赖库,配置较为复杂:
qE57IO 插件
需要:
- Xerces-C++ 静态库
- LibE57 库
qFBXIO 插件
需要 Autodesk FBX SDK,配置时需要指定:
- FBX SDK 头文件目录
- FBX SDK 库文件路径
qPCL 插件
需要安装 Point Cloud Library (PCL),建议参考 PCL 官方文档配置。
GDAL 支持
如需栅格文件支持,需要配置:
- GDAL 头文件目录
- GDAL 库文件路径
- (Windows) GDAL DLL 文件目录
平台特定说明
Linux 系统
较旧版本的 CMake (<3.13) 可能导致程序无法在所有用户环境下运行,建议使用较新版本。
macOS 系统
开发时可添加 -DCC_MAC_DEV_PATHS
标志,使程序从构建目录加载插件而非应用包。
Windows 系统
Visual Studio 用户需注意:
- 所有文件(可执行文件、插件、DLL)需复制到安装目录
- 默认调试配置可能无法正常工作,需特殊配置
调试技巧
- 调试插件时,可能需要注释掉
QT_NO_DEBUG
宏定义 - 可通过环境变量指定插件、着色器和翻译文件的搜索路径:
CC_PLUGIN_PATH
CC_SHADER_PATH
CC_TRANSLATION_PATH
结语
本文详细介绍了 CloudCompare 的编译过程和可选功能配置。通过灵活配置插件和功能,用户可以根据需求构建定制化的点云处理工具。对于特定插件的详细使用说明,建议参考 CloudCompare 官方文档和各个插件的专门介绍。
CloudCompare CloudCompare main repository 项目地址: https://gitcode.com/gh_mirrors/cl/CloudCompare
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考