该教程引入大量其它博主的优质博客,侵删!
1. 前期准备
- cmake下载,可参考这篇博客。
- Visual Studio下载,参考这篇博客,如需拓展未安装的功能,可参考这篇博客。
- QT下载参考这篇博客,博主写的十分详细。建议配置一下qt的环境变量。
- 如需加载.las或者.laz文件,可利用OSGEO配置PDAL,参考这篇博客,完成该博主的前四步即可。此外,在第二步安装时,采用地址http://gwmodel.whu.edu.cn/mirrors/osgeo4w,速度会快很多。具体可看下图:
- 如需加载.pcd文件,请配置pcl,参考这篇博客,跟着那位博主配置完环境变量即可。
- CloudCompare源码下载,我用的是2.11.3版本 。
2. 利用cMake构建项目
-
在CloudCompare下载的位置建立build,如下图所示:
-
打开cmake进行构建VS项目
① Where is the source code 填写CloudCompare源码所在的位置;
② Where to build the binaries 填写文件夹 build的位置;
③ 勾选 Grouped和勾选 Advanced,如下图所示:
④ 点击Configure,配置如下:
⑤ 点击finish后,出现如下结果:
⑥ 在 Ungrouped Entries 下的 QT5_ROOT_PATH 选择你的 Qt 路径,我的是D:\workSoftware\qt\5.14.2\msvc2017_64,如果你配置了Qt的环境变量,只需要补充这一个即可,如果Ungrouped Entries 仍有空缺,请自行参照下图补全:
⑦ 如果需要使用PCL和PDAL,勾选Plugin下的PLUGIN_IO_QPDAL和PLUGIN_STANDARD_QPCL,如下图所示:
⑨ 再次 Configure,可能会有一些警告,可以不用理会。直接再次Configure+Generate+Open Project三连。以管理员身份运行Visual Studio,在build目录下找到CloudCompareProjects.sln,双击打开项目,如下图所示:
-
用Visual stadio编译cloudCompare
① Visual stadio切中上方两个框切换成Release和x64;
② ALL_BUILD 右键 - 重新生成;如果你编译了PDAL,则可能遇到的控制台报错:
在LASFilter.cpp的 canSave 函数152行出现了错误:“error C2666: operator == 12个重载有相似的转换”。
解决办法是将LASFilter.cpp的 canSave 函数152行做如下修改:
if (type == CC_TYPES::POINT_CLOUD) 改为 if (type ==(int64_t)CC_TYPES::POINT_CLOUD)
③ INSTALL 右键 - 重新生成(这个没在截图上,自己找一下);
④ CloudCompare 项目右键 - 设置为启动项目;
⑤ 修改cloudcompare的输出目录,CloudCompare上右键->点击属性,然后如图,改输出目录(Output Directory),将其改为prefix文件夹中的CloudCompare的目录(默认是C:\Program Files (x86)\CloudCompareProjects\CloudCompare,或者
C:\Program Files\CloudCompareProjects\CloudCompare),点击应用然后点击确定。这里不改的话,会出现3~4次缺少xxx.dll文件,如果你不想改,可在prefix文件夹中的CloudCompare的目录找到这几个文件,把它们放在你原来的输出目录下即可;
⑥ 点击运行,到此编译完成。