cloud compare源码编译-亲测全程记录

整体过程:已安装好所需软件->CMake配置与生成->visual studio项目生成与调试->产生.exe可执行程序。
需要提前安装好的:PCL点云库,Qt5,CMake3;下载好cloud compare源码
刚开始的文件目录:
cloud compare源码编译-亲测全程记录_第1张图片
build是要生成的项目路径;【CMake之后会在这里生成.sln项目,可以用visual studio打开】
prefix作为编译的目录。cc最后会安装在这里
cloud compare源码编译-亲测全程记录_第2张图片
点击configure
cloud compare源码编译-亲测全程记录_第3张图片
选择x64
cloud compare源码编译-亲测全程记录_第4张图片
第一次点击configure之后的图片
在这里插入图片描述
对QT5_ROOT_PATH进行设置
在这里插入图片描述
CMAKE_INSTALL_PREFIX 为cmake内置变量,用于指定cmake 执行install目标时,安装的路径前缀。
在这里插入图片描述
我这里需要用到PCL,勾选对应项。之后再点击configure。
cloud compare源码编译-亲测全程记录_第5张图片
都配置好之后全部是白色的。
cloud compare源码编译-亲测全程记录_第6张图片
点击generating之后生成项目,可以用过visual studio打开对应的.sln项目。
cloud compare源码编译-亲测全程记录_第7张图片
ALL_BUILD右键,生成。需要等待几分钟。
在这里插入图片描述
生成好之后点击CloudCompare,右键,设置为启动项目。
之后右键,调试,启动新实例。【也可以直接点击上方绿色箭头-本地windows调试器】
cloud compare源码编译-亲测全程记录_第8张图片
系统会提示类似上述所示,显示丢失 QCC_IO_LIBd.dll ,QCC_IO_LIBd.dll,CC_CORE_LIBd.dll这几个.dll文件。
解决方法如下:【复制到这里是因为我的cc输出目录默认就是这里,可以通过cloud compare->右键->属性->配置属性-常规-输出目录进行查看】
Build\libs\qCC_db\Debug\QCC_DB_LIBd.dll文件复制到Build\qCC\Debug下。
Build\libs\qCC_io\Debug\QCC_IO_LIBd.dll同上。
Build\CC\Debug\CC_CORE_LIBd.dll同上。
cloud compare源码编译-亲测全程记录_第9张图片
cloud compare源码编译-亲测全程记录_第10张图片
以上就是启动后的图片,但是没有看到pcl插件。
cloud compare源码编译-亲测全程记录_第11张图片
同理ccViewer也可以正常打开。
INSTALL,右键,生成
cloud compare源码编译-亲测全程记录_第12张图片
生成成功后更改cloud compare属性里的的输出目录,更改到cc\prefix\CloudCompare_debug下。再运行实例此处pcl插件可以正常使用。下图是.pcd点云数据的可视化。
cloud compare源码编译-亲测全程记录_第13张图片
在D:\CloudCompare-2.11.3\prefix\CloudCompare_debug目录下双击cloudcompare.exe运行程序也可以看到pcl插件。并且其目录中可以看到pcl相关的.dll文件。正因为含有pcl相关动态库文件,所以cloud compare的输出目录改到这里才能正常应用pcl插件。

cloud compare源码编译-亲测全程记录_第14张图片
至此cloudcompare的源码编译就完成了,并且可以将pcd文件拖拽到cc窗口,进行相应数据的点云可视化,但是还是有一些疑惑。
比如cmake中build和install的关系?为什么在ALL_BUILD生成之后cc在build\qCC\Debug文件夹中,而INSTALL生成之后就在prefix文件中了?为什么install之后才看到pcl相关.dll文件在prefix文件夹内?为什么会是这样的生成关系,因为笔者对CMake处于初学阶段,在CMake基础,关于cloud compare源码编译过程的解释这篇文章讲述大概缘由。

2022.08.31
经过多次尝试总结:ALL_BUILD是对所有进行生成,而在更改代码进行二次开发的时候,只需要每次对INSTALL进行生成即可得到一个双击可运行的程序,除非要对代码进行调试。

参考链接:
CloudCompare2.11.1编译与运行
CloudCompare源码编译
vs2017+cmake 3.13编译
CloudCompare介绍——(一)源码编译
VS2013下CloudCompare的编译
Compilation of CloudCompare 2.11+
Compilation for the 2.6 or earlier versions

你可能感兴趣的:(点云相关)