win10系统下visual studio2019编译CloudCompare源代码

因项目需要,在win10系统下,基于开源点云显示、编辑、处理框架CloudCompare进行项目开发,故利用visual studio 2019对其源代码进行重新编译以及后续的自定义功能的插件开发。参考了其他几篇技术博客,对整个过程做一个记录。


前言

CC(CloudCompare)是一个开源点云显示、编辑、处理软件框架,可以在此基础上进行学术上或者商业上的二次开发。其源代码版本也定期有更新维护,整个开发社区也挺活跃,基于CC进行自定义的插件开发,首先得搞明白如何对其源代码进行编译。


一、CC(CloudCompare)是什么?

CC(CloudCompare)是一个开源点云显示、编辑、处理框架,其源代码版本定期有更新维护,整个开发社区也挺活跃。并且其是GPL授权,意味着可以在此基础上进行学术上或者商业上的二次开发。更多信息参考其官网主页:http://www.cloudcompare.org/main.html

二、编译CC源代码步骤

1.准备工作

编译前需要了解以下信息:
a、最新版的 CloudCompare 的 .las / .laz 文件的读取已经由 liblas 改为 pdal;
b、由于 PDAL 涉及到众多的第三方库(目测几十个吧)。不建议手动编译源码安装;
c、CloudCompare 还可以用 QtCreator 编译,但是新版本的 CloudCompare 不建议用 QtCreator 编译;
d、我编译的版本是v2.10.2。CloudCompare 官网 以及Github 仓库提供有更新版本。

编译前需要安装一下软件或者库:
a、Visual Studio 2019
b、cmake-3.20.0-rc2-windows-x86_64
c、PCL 库(PCL 1.9.0,用于在CC中加载.pcd文件)(若有需要)
d、PDAL 库(用于在CC中加载.las文件)(若有需要)
e、CloudCompare - v2.10.2源码
f、QtCreator(QT5.11)

1.1 Visual Studio 2019安装

下载后安装即可

1.2 cmake安装

建议下载较高版本的 CMake。不管你下载的是安装版本还是解压版本,能用就可以。我安装的是cmake-3.20.0。

1.3 PCL 库安装

如果你想要编译出的 CloudCompare 能够直接加载 .pcd 点云或者在自定义的插件开发中使用PCL库中的API,请先安装配置 PCL 库;

1.4 PDAL 库安装

如果你想要编译出的 CloudCompare 能够加载 .las / .laz 点云,请配置 PDAL 库;否则跳过。
由于 PDAL 库需要太多的第三方库,因此 PDAL 官网都不建议你自己去编译 PDAL 库,而是用现有的软件来直接使用 PDAL 库
目前官网推荐下载 Conda 来使用 PDAL 库。也可以使用 OSGEO4W 中包含的 PDAL 库。
我采用的是用Conda 来下载安装 PDAL 库。
方法如下:
a、下载 Anaconda
直接官网下载安装包
b、创建一个虚拟conda环境
conda create --name myenv
c、在虚拟环境中安装pdal
conda install --channel conda-forge pdal

1.5 QtCreater 安装

注意 Qt 版本最好在 5.7 以上,而且注意和你的编译器相匹配。我安装的是5.11

2.开始编译

2.1 新建目录

新建以下文件夹目录:

-------- /myCC_build
                | -----CloudCompare-2.10.2      # 存放源码
               | -----build                          # 存放 build 出来的工程
                | -----prefix                        # 存放最终的运行程序文件以及库文件CloudCompare.exe

2.2 用cmake配置工程文件

  1. Where is the source code 填写文件夹 CloudCompare-2.10.2

  2. Where to build the binaries 填写文件夹 build

  3. 勾选 Grouped

  4. 勾选 Advanced

  5. Configure

  6. 会出现选择项目的生成器的界面。选择我们提前安装好的Visual Studio 2019,点击finish
    在这里插入图片描述

  7. 在 Ungrouped Entries 下的 QT5_ROOT_PATH 选择你的 Qt路径,比如我的是:E:/QT5.11/5.11.1/msvc2017_64
    在这里插入图片描述

  8. 在 CMake 下的 CMAKE_INSTALL_PREFIX 更改路径为新建的 prefix 文件夹路径

  9. 如果你想要编译 PDAL,请勾选 OPTION 下的 OPTION_PDAL_LAS,再次 Configure,遇到失败后,在 Ungrouped Entries 下的 PDAL_DIR 选择你的 PDAL路径,比如我的是:E:/Anaconda3/envs/myenv/Library/lib/cmake/PDAL

  10. 如果想要编译其他插件,则在OPTION或者INSTALL勾选对应的选项。例如INSTALL_QPCL_PLUGIN、INSTALL_QCSF_PLUGIN

  11. 再次 Configure

  12. 到这里 Configure 应该成功了,若有失败,请检查以上过程你是否错做正确

  13. 正确无误的话,Generate

2.3 打开 build 文件夹下的 CloudCompareProjects.sln

依次执行一下内容:

  1. 切换成 x64 切换成 Debug 或者 Release(根据你需要,自行设定)
  2. ALL_BUILD 右键 -重新生成,如果报错,请检查上面的配置
  3. INSTALL 右键 - 重新生成,如果报错,请检查上面的配置 CloudCompare 项目右键
  4. 进入prefix\CloudCompare目录,双击CloudCompare.exe运行程序
    加载.txt文件如下:
    在这里插入图片描述

3.各阶段可能遇到的问题

3.1 CMake 不过的问题

  1. 如果是 Configure 失败,则检查你的 QT5_ROOT_PATH 路径
  2. 如果你 CMake 了 PDAL,请检查你的 PDAL_DIR 路径设置是否正确

3.2 Ctrl + F5 启动(双击运行程序)后提示缺少 XXX.dll

这个问题的原因也有很多,原因需要自己去排除

  1. 解决方法是用 Everything 软件搜索对应的 dll,并复制CloudCompare.exe 的同级目录下,比如yourpath\prefix\CloudCompare
  2. 复制的时候,优先复制 PDAL 库中的 dll,没有的话,再复制CloudCompare 软件中自带的 dll
  3. 其它原因

三、总结

整个过程是比较繁琐的,也参考了很多前辈的博客,后续将逐步介绍CC中自定义插件的开发。
参考链接:
https://blog.csdn.net/qq_34719188/article/details/98599257

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值