Cloudcompare2.12.2使用vs2022带插件编译以及在WSL中编译cloudCompare【最新实践】
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
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
Cloudcompare2.12.2使用vs2022带插件编译以及在WSL中编译cloudCompare【最新实践】相关推荐
- java8编译_为什么在Java7中编译而在Java8中编译?
泛型是棘手的. 看起来它们在不同版本的 Java中被区别对待. 此代码在Java 7中成功编译,无法使用Java 8进行编译. import java.util.EnumSet; public cla ...
- vlc android 编译 mac,在Mac中编译vlc-android小结
在Mac中编译vlc-android小结 在Mac中编译vlc-android小结 VLC CodeSource https://code.videolan.org/explore This pag ...
- scala 编译插件_使用Scala插件在Griffon应用程序中编译和运行Scala代码
scala 编译插件 用于Griffon的Scala插件 0.7.1版本现已发布. 这个插件可以在Griffon应用程序上编译和运行Scala代码. Scala插件使用LangBridge插件与其他J ...
- 在window10 WSL 中编译 OpenJDK13
简介 最新的OpenJDK13已经发布到git上,可以git pull,然后编译了. 这里介绍了直接在windows 10 的WSL环境中进行build并测试. 准备 在Open JDK13的网站文档 ...
- windows下写代码在linux下编译,如何在Windows中编译Linux Unix的代码(采用cygwin)?...
很多经典算法往往是用C++在linux下实现的,对长期从事windows开发的辛苦大众来说,想看这些算法的运行效果不得不费一点小功夫.今天捣鼓了一晚上才搞定这事,写出实现方法和大家共享. 第一步:下载 ...
- ultraedit编译java_在UltraEdit中编译和运行Java程序
一.首先打开UltraEdit, 点击菜单上的 高级->工具配置,如图: 1 点击插入: 2 在菜单项名称写上该功能,"编译java ": 3 创建一个批处理的文件compi ...
- 在C 编程语言中 静态数组的替代模板,以编译方式在C ++中编译时创建静态数组...
您可以获得的最接近的是使用C ++ 0x功能从可变参数模板参数列表初始化模板的本地或成员数组. 这当然受到最大模板实例化深度的限制,并且必须测量实际上在您的情况下显着差异. 例: template s ...
- cloudcompare2.12.4编译全过程
** Cloudcompare2.12.4使用vs2019带插件编译 **Cloudcompare开发环境搭建 安装需要: windows上编译需要:vs2019.qt5.15.2 (msvc)//q ...
- 【Android Protobuf 序列化】Protobuf 使用 ( protobuf-gradle-plugin 插件简介 | Android Studio 中配置插件 | AS 中编译源文件 )
文章目录 一.protobuf-gradle-plugin 插件简介 二.Android Studio 中配置 protobuf-gradle-plugin 插件 三.Android Studio 中 ...
- 安装包没意思?带你手动下载OpenWrt源码编译安装!
一.OpenWrt的代码管理工具 OpenWrt社区同时使用Subversion和Git两种工具来管理代码. 备注:OpenWrt的外围代码已经逐渐转到github提供的Git托管空间上,直到2016 ...
最新文章
- 微服务化小团队集群的组织和管理
- 聊一聊IAR的workspace文件组织
- azdb文件怎么打开_AZDBMappingSvcs.dll
- 低功耗广域网:关键特性
- 栈溢出笔记1.4 黑掉example_2
- onclick的值传给php,php – 从onclick事件将HTML属性传递给jQuery函数
- 【二分图】【最大匹配】【匈牙利算法】CODEVS 2776 寻找代表元
- [FreeProxy]FreeProxy代理服务器端软件介绍 之一
- 软件测试中什么是正交分析法,软件测试用例设计方法之正交分析法
- 前端50个精美登录注册模板
- 云计算机ppt模板,云服务云技术云计算PPT模板
- python批量.bmp文件转换为.jpg
- JAVA计算两条直线的交点(判断两条线段相交)
- 奥维查看行政边界_全国乡镇行政区划数据乡镇边界数据查询获取方式
- 改变ubuntu终端显示语言(桌面系统是中文,终端提示是英文)
- PMPtiku项目管理第六版PMI人才三角
- Actions as Moving Points
- 【读点论文】Detect Faces Efficiently: A Survey and Evaluations,关于人脸检测的思考,综述型文章
- 微信小程序开发 | 小程序开发框架
- 几款H264码流分析工具
热门文章
- kalman滤波理解一:理论框架
- 计算机word题目设置标题,word文档标题怎么设置?word设置标题样式的方法
- 基于opencv的手眼标定算法详解一-----------opencv之相机标定函数calibrateCamera()介绍
- 测试人员应该具备的几种思维
- mysql skip-grant-tables my.cnf_使用SKIP-GRANT-TABLES解决MYSQLROOT密码丢失
- Telink 825x 蓝牙开发笔记2
- 从阿里云故障说 Io hang 是什么?
- 用C# 设置excel单元格格式
- 一:细说python3中sort和sorted
- Vue3 script setup