[Win10+VS2019]CloudCompare2.12编译读取pcd,las等格式文件
CloudCompare
CloudCompare是一款跨平台、开源的点云浏览、处理软件,在全世界受到广泛使用,在其官网http://www.cloudcompare.org/main.html上,用户可以直接选择安装包进行安装,但是作为一款开源软件,其最大的优点是代码公开,且允许用户按照需求进行二次开发或制作插件。
本贴主要记录如何从源码编译CloudCompare,及使所编译的CloudCompare支持读取pcd,las等格式文件(官方安装包的软件是默认支持读取的,从源码原生编译的是不默认读取的)。
准备工作
在进行编译之前,本次编译所用的第三方软件包括cloudcompare源码、cmake、pcl1.12.0、LasTools/PDAL,Qt5.9.9:
- 下载CloudCompare源码;
确保已安装Git,如未安装请事先安装,具体配置可参考网上其他教程。
打开Git bash,在命令行中输入:
git clone --recursive https://github.com/CloudCompare/CloudCompare.git
需要注意的是,--recursive
不得省略,否则所下载的源码中将缺少核心算法库。 - 安装CMake;
参考文章Windows下配置CMake(入门级教程,适合新人收藏学习),较为简单,不多赘述。 - 安装配置PCL1.12,具体可以参考文章PCL安装教程(Win10+vs2019+PCL1.10.1);
对照文章中的步骤进行配置到填写属性表以前即可【亲测可行】。
需要注意的是,部分开发者习惯用vcpkg进行第三方库的安装与配置,用这种方法安装的PCL是无法用的。 - 安装LasTools或PDAL;
这两个库都是用来处理las格式的点云,随便安装一个即可,lastools建议采用vcpkg安装,十分方便,pdal建议采用OSG方式安装,可参考最具体和最简单的PDAL库配置及在VS2019上测试 - 安装Qt5.9.9;
可参考Qt:windows下Qt安装教程,安装完成后记得在系统变量中加入如下变量:
D:\Qt\Qt5.9.9\5.9.9\msvc2017_64\bin;
D:\Qt\Qt5.9.9\5.9.9\msvc2017_64\plugins\platforms
开始编译
-
在CloudCompare源码文件夹同级目录下分别新建build和install两个文件,我的如下:
分别存储编译后的工程文件以及最终编译的程序 -
打开cmake,source code 和 build分别选择相对应的文件夹:
记得勾选 Grouped 和 Advanced,然后点击Configure。 -
在弹出的窗口中选择相应的编译器以及平台;
我的是VS2019,因此选择Visual Studio 16 2019,平台选择x64。
然后点击Finish。
-
进一步配置相关依赖路径;
在上一步骤完成后,界面上会出现一堆红色的(如下图),有部分设置需要进一步调整,
首先,展开Ungrouped Entries,补充QT5_ROOT_PATH,对照自己Qt的安装路径找到如下路径:D:\Qt\Qt5.9.9\5.9.9\msvc2017_64
接着,展开CMAKE,找到CMAKE_INSTALL_PREFIX项,调整路径为之前新建的install文件夹。
最后展开PLUGIN,勾选以下三项:
再次点击Configure; -
再进一步配置;
再次点击Configure之后会弹出错误,不过不用担心,点击OK继续进行配置。
首先展开Ungrouped Entries,补充LASZIP_LASTOOLS_INCLUDE_DIR,我的lastools使用vcpkg安装的,因此我的这一项路径为D:/Mycode/vcpkg/packages/laszip_x64-windows/include/laszip
然后展开LASLIB,补充其中的三项路径为相应的路径,我的路径如下:
-
再次点击Configure;
-
这一次再没有错误弹窗,红色也没了;
-
点击Generate;
出现Generate done,说明大功告成!
切换到Visual Studio Project
-
找到之前建立的build文件夹,打开.sln文件
-
在Visual Studio中,将生成模式变为Release;
-
点击生成->批生成->全选->关闭;
4.右击ALL_build,点击生成;
接着开始漫长的编译过程。 -
成功执行完ALL_BUILD后,右击INSTALL,点击生成;
-
以上步骤全部成功执行完以后,打开install文件夹,可以发现里边多了两个子文件夹ccViewer和CloudCompare,进入CloudCompare文件夹后打开CloudCompare.exe;
可以看到可以支持las,pcd格式的文件读取。