Cloudcompare开发环境搭建
安装需要:
windows上编译需要:vs2022、qt5.15.2 (msvc)、cmake-gui、Cloudcompare2.12.2(源码)、CCCoreLib(源码,提供cloudCompare的算法库)
linux上编译需要:cmake、qt的一些依赖包、Cloudcompare2.12.2(源码)、CCCoreLib
cloudCompare插件编译所需依赖库或工具:PDAL、PCL、LasTools
1、编译Cloudcompare 2.12.2 for windows 64-bit
1.1、提前准备
首先安装cmake-gui(3.22.3)、其次安装vs2022、再安装qt5.15.2 (msvc)在线安装,这些都是按照说明可以直接一步一步的进行安装,较为简单,就是比较耗时与空间,可以进行网上参考相关资料安装
需要编译插件PCL的,直接进行官网下载PCL的windows安装程序(我下载的是PCL-1.12.0-AllInOne-msvc2019-win64.exe),然后直接执行安装程序即可。
PCL环境变量配置:
在PATH中添加:
编译PDAL的需要,使用OSGeo4W进行PDAL的相关依赖库的下载与安装(OSGeo4W选择Advanced Instal,然后一直下一步不用改变配置,到了select package界面,搜索pdal,下一步安装即可)。
LasTools的编译:先从下载地址进行下载(据说GitHub不行)
- 解压后使用cmak-gui进行编译,直接编译即可,根据自己需要选择,configuration,generation,从VS中打开该项目
- 在vs中打开
- install编译过程中出现The Command setlocal,
- 重新build INSTALL即可
1.2、cloudCompare的编译
源码下载GitHub地址:https://github.com/CloudCompare/CloudCompare/tree/version_2.12.2,https://github.com/CloudCompare/CCCoreLib(提供数据结构与算法库)
解压后,将CCCoreLib-master根目录下的所有的文件复制到CloudCompare-master\libs\qCC_db\extern\CCCoreLib 目录下
- 首先在CloudCompare-master同级目录创建,build与install文件夹
-
打开cmake-gui
2.1、选择项目源码与build目录
2.2、选择vs2022生成
2.3、接下会出现一系列的报错
- 首先会出现QT5对应vs2022的cmake的配置文件找不到
-
继续点击Configure,其次是一些需要手动添加的依赖包路径
如:
-
以及添加编译的一些插件:PDAL,PCL,LAS
-
插件找不到的报错:
- 继续点击configure(虽然有一些warning),最后成功"全白",点击Generate生成(如何继续报错,按照上面的查询解决问题即可),open the project,会在vs2022中打开,下图是我的整个配置图,仅供参考(哪里错查哪里,然后再慢慢解决即可)!
-
在vs2022中进行build,install,按照图中进行操作
-
运行,会出现一些dll找不到的错误,如:CCPluginAPId.dll、Qt5PrintSupportd.dll、CCAPPCommond.dll、QCC_GL_LIBd.dll等
无非就是将,这些dll库,复制到工作路径即可,进入以下目录:(有一些QT的缺失,在D:\soft\qt5.15.2\5.15.2\msvc2019_64\bin 下找缺的dll)
D:\soft\CloudCompare-2.12.2\build2\libs\CCAppCommon\Debug
D:\soft\CloudCompare-2.12.2\build2\libs\qCC_db\extern\CCCoreLib\Debug
D:\soft\CloudCompare-2.12.2\build2\libs\CCPluginAPI\Debug
D:\soft\CloudCompare-2.12.2\build2\libs\qCC_db\Debug
D:\soft\CloudCompare-2.12.2\build2\libs\qCC_glWindow\Debug
D:\soft\CloudCompare-2.12.2\build2\libs\qCC_io\Debug
D:\soft\CloudCompare-2.12.2\build2\libs\CCFbo\Debug
D:\soft\qt5.15.2\5.15.2\msvc2019_64\bin
…
将dll 拷贝至:
D:\soft\CloudCompare-2.12.2\build2\qCC\Debug
-
最后你会发现还是不能运行,编译成功了但是运行错误
# 可以使用D:\soft\qt5.15.2\5.15.2\msvc2019_64\bin的windeployqt.exe,进行应用程序依赖qt的包进行自动deploy部署工作目录中
cd D:\soft\qt5.15.2\5.15.2\msvc2019_64\bin
./windeployqt.exe D:\soft\CloudCompare-2.12.2\build2\qCC\Debug
-
再次运行,即大功告成了,但是问题是运行的plugins图标是灰色
-
将D:\soft\CloudCompare\build\qCC\Debug创建一个plugins的文件夹,然后将D:\soft\CloudCompare\install\CloudCompare_debug\plugins里面的所有的ddl的插件复制到D:\soft\CloudCompare\build\qCC\Debug\plugins中,即可。其实直接打开D:\soft\CloudCompare\install\CloudCompare_debug\CloudCompare.exe也行
1.3、编译对应的插件
1、PLUGIN_IO_QLAS_FWF
这个应该是支持LAS的地理位置格式数据
2、PLUGIN_IO_QPDAL
实现读写las文件
3、PLUGIN_STANDARD_QPCL
PCLInterface for PCL library (normals computation, outliers removal, etc.),就是提供一些点云数据的处理库,如:点云分割,点云标记等
4、PLUGIN_STANDARD_QCOMPASS
Compass Easy digitization of geological structures and structural traces on point clouds
compass使得cc在点云上地质结构与地质追踪更加轻松实现数字化
2、编译Cloudcompare 2.12.2 for linux in WSL(Ubuntu20.04)
首先安装cmake,因为cloudCompare需要它来进行编译与安装。在官网进行下载https://cmake.org/download/,下载的是cmake-3.22.3-linux-x86_64.tar.gz
mkdir /usr/local/cmake
# 以root进行安装
tar -zxvf cmake-3.22.3-linux-x86_64.tar.gz -C /usr/local/cmake
# 配置环境变量,将下面的代码添加到/etc/profile中,注意替换自己cmake安装的路径与版本
export PATH=/usr/local/cmake/cmake-3.22.3-linux-x86_64/bin:$PATH
# 检查是否安装好
cmake --version
其次需要先进行安装这几个依赖的package其中包括主要包括qt5的一些依赖
源码下载GitHub地址:https://github.com/CloudCompare/CloudCompare/tree/version_2.12.2,https://github.com/CloudCompare/CCCoreLib(提供数据结构与算法库)
apt-get install libqt5svg5-dev libqt5opengl5-dev qt5-default qttools5-dev qttools5-dev-tools libqt5websockets5-dev
# 获取对应的cloudCompare的源码,同时CCCoreLib-master源码,并且解压后,将CCCoreLib-master根目录下的所有的文件复制到
# cloudcomapre\CloudCompare-master\CloudCompare-master\libs\qCC_db\extern\CCCoreLib下
# 进入到cloudCompare源码的根目录下
makdir build
cd build
# 编译,注意这里是完全有apt-get安装的,对应的依赖可以找到,如果不行可以使用 ldd exe程序,查看所需其依赖库
cmake ..
# 生成二进制的文件
cmake --build .
# 安装
cmake --install .
# 运行,默认是安装到/usr/local/bin,对应的执行文件,一般就已经成功了对于完全的虚拟机来说,但是对于wsl2来说还没成功,有以下问题
CloudCompare
wsl2的问题:
虽然找到了对应的plugin xcb(有且加载了),但是不能连接进行display
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DoNRvdZy-1659687235155)(assets/1657077972806.png)]
解决:因为安装的wsl是纯命令行的,故而无法运行带有界面的GUI的程序。所以需要安装VcXsrv Windows X Server 来进将wsl的GUI展示,通过network传送到在windows界面GUI展示。需要运行VcXsrv也称为X server。
-
首先在windows上安装运行vcxsrv(X server) https://sourceforge.net/projects/vcxsrv/files/latest/download,【可以参考其他blog,比较简单,按照步骤即可】
-
在wsl上安装X11-apps
apt-get install x11-apps
export DISPLAY=$(/sbin/ip route | awk '/default/ { print $3 }'):0 # 可以将它写入/etc/profile配置文件中,否则每次都要写
CloudCompare # 即可运行了
总结
在windows上进行编译cloudCompare解决依赖库的一些关系比较复杂,里面还有些可能的原因是使用的是vs2022新版增加了手动添加依赖库的繁琐度【笔者仅个人认为】
而在linux就相对简单,直接下载对应的package,它会自动添加到对应的目录并引用,不需要你手动添加依赖库,但是在wsl中不能运行带有GUI的程序,需要安装VcXsrv来解决问题
CloudCompare编译参考的主要博客与讨论网站如下:
http://www.cloudcompare.org/doc/wiki/index.php/Compilation
https://github.com/CloudCompare/CloudCompare/blob/master/BUILD.md
https://blog.csdn.net/qq_41965957/article/details/125229654
https://blog.csdn.net/qq_34719188/article/details/98599257
https://forum.qt.io/topic/120331/qt-qpa-xcb-could-not-connect-to-display-0
https://sourceforge.net/p/vcxsrv/wiki/VcXsrv%20%26%20Win10/
https://www.cnblogs.com/chenlinchong/p/15094816.html文章来源:https://www.toymoban.com/news/detail-439413.html
ls/125229654
https://blog.csdn.net/qq_34719188/article/details/98599257
https://forum.qt.io/topic/120331/qt-qpa-xcb-could-not-connect-to-display-0
https://sourceforge.net/p/vcxsrv/wiki/VcXsrv%20%26%20Win10/
https://www.cnblogs.com/chenlinchong/p/15094816.html
http://www.cloudcompare.org/doc/wiki/index.php?title=Plugins文章来源地址https://www.toymoban.com/news/detail-439413.html
到了这里,关于Cloudcompare2.12.2使用vs2022带插件编译以及在WSL中编译cloudCompare【最新实践】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!