Cloudcompare2.12.2使用vs2022带插件编译以及在WSL中编译cloudCompare【最新实践】

这篇具有很好参考价值的文章主要介绍了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环境变量配置:
Cloudcompare2.12.2使用vs2022带插件编译以及在WSL中编译cloudCompare【最新实践】

在PATH中添加:

Cloudcompare2.12.2使用vs2022带插件编译以及在WSL中编译cloudCompare【最新实践】

编译PDAL的需要,使用OSGeo4W进行PDAL的相关依赖库的下载与安装(OSGeo4W选择Advanced Instal,然后一直下一步不用改变配置,到了select package界面,搜索pdal,下一步安装即可)。

Cloudcompare2.12.2使用vs2022带插件编译以及在WSL中编译cloudCompare【最新实践】

LasTools的编译:先从下载地址进行下载(据说GitHub不行)

  1. 解压后使用cmak-gui进行编译,直接编译即可,根据自己需要选择,configuration,generation,从VS中打开该项目

Cloudcompare2.12.2使用vs2022带插件编译以及在WSL中编译cloudCompare【最新实践】

  1. 在vs中打开

Cloudcompare2.12.2使用vs2022带插件编译以及在WSL中编译cloudCompare【最新实践】

  1. install编译过程中出现The Command setlocal,

Cloudcompare2.12.2使用vs2022带插件编译以及在WSL中编译cloudCompare【最新实践】

  1. 重新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 目录下

  1. 首先在CloudCompare-master同级目录创建,build与install文件夹

Cloudcompare2.12.2使用vs2022带插件编译以及在WSL中编译cloudCompare【最新实践】

  1. 打开cmake-gui

    2.1、选择项目源码与build目录
    Cloudcompare2.12.2使用vs2022带插件编译以及在WSL中编译cloudCompare【最新实践】

    2.2、选择vs2022生成

    Cloudcompare2.12.2使用vs2022带插件编译以及在WSL中编译cloudCompare【最新实践】

    2.3、接下会出现一系列的报错

    • 首先会出现QT5对应vs2022的cmake的配置文件找不到

Cloudcompare2.12.2使用vs2022带插件编译以及在WSL中编译cloudCompare【最新实践】

  • 继续点击Configure,其次是一些需要手动添加的依赖包路径

    如:
    Cloudcompare2.12.2使用vs2022带插件编译以及在WSL中编译cloudCompare【最新实践】

  • 以及添加编译的一些插件:PDAL,PCL,LAS
    Cloudcompare2.12.2使用vs2022带插件编译以及在WSL中编译cloudCompare【最新实践】

  • 插件找不到的报错:

Cloudcompare2.12.2使用vs2022带插件编译以及在WSL中编译cloudCompare【最新实践】

  • 继续点击configure(虽然有一些warning),最后成功"全白",点击Generate生成(如何继续报错,按照上面的查询解决问题即可),open the project,会在vs2022中打开,下图是我的整个配置图,仅供参考(哪里错查哪里,然后再慢慢解决即可)!
    Cloudcompare2.12.2使用vs2022带插件编译以及在WSL中编译cloudCompare【最新实践】
  1. 在vs2022中进行build,install,按照图中进行操作
    Cloudcompare2.12.2使用vs2022带插件编译以及在WSL中编译cloudCompare【最新实践】

  2. 运行,会出现一些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

  3. 最后你会发现还是不能运行,编译成功了但是运行错误

Cloudcompare2.12.2使用vs2022带插件编译以及在WSL中编译cloudCompare【最新实践】

# 可以使用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
  1. 再次运行,即大功告成了,但是问题是运行的plugins图标是灰色

    Cloudcompare2.12.2使用vs2022带插件编译以及在WSL中编译cloudCompare【最新实践】

  2. 将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。

  1. 首先在windows上安装运行vcxsrv(X server) https://sourceforge.net/projects/vcxsrv/files/latest/download,【可以参考其他blog,比较简单,按照步骤即可】

  2. 在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文章来源地址https://www.toymoban.com/news/detail-439413.html

到了这里,关于Cloudcompare2.12.2使用vs2022带插件编译以及在WSL中编译cloudCompare【最新实践】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • VS2022编译运行VS2015的项目

        最近新装了VisualStudio2022,有一些VS2015老的项目需要运行,但不想再安装VS2015,就想能否直接在VS2022编译运行,研究一下发现可行,记录一下。 1. 直接升级VS2015项目到2022使用windows sdk 10.0     发现老代码里的一些语法已经不支持,改动会很大,此路不通。 2. 保持VS2015项目

    2024年02月12日
    浏览(48)
  • Matlab2022a无法识别vs2019编译器,未检测到支持的编译器,错误使用Mex -setup error cannot find support compiler

    1、确定一下您的问题:错误使用Mex 2、再执行以下命令: 如果您的结果跟我一样,那么可以继续看,如果不一样,就可能不是同一个问题。 下面直接说解决方案: 3、打开powershell,执行下面命令 install-module -scope currentuser MSI 按照提示输入Y 4、继续执行命令 get-msirelatedproduct

    2024年02月06日
    浏览(80)
  • VS2022编译libui库

    libui是一个 C 中简单且可移植(但并非不灵活)的 GUI 库,它使用每个平台原生的GUI技术进行绘制。 官网地址:链接 本文将使用VS2022编译libui库,操作系统为Windows10。 首先在官网下载源代码,由于此代码不依赖第三库,故只需下载源代码即可进行编译。 我下载了最新的 mast

    2023年04月13日
    浏览(101)
  • VS2022编译nanovg绘图库

    本文将使用VS2022编译nanovg库,操作系统为Windows10。官网地址:链接 nanovg是一个基于 OpenGL 的抗锯齿二维矢量绘图库,可用于 UI 和可视化。截至到目前已经有4.7k star nanovg 使用stb_truetype进行字体渲染,使用stb_image进行图像加载。 Step1 下载nanovg 首先需要在官网下载 nanovg 源代码,

    2023年04月08日
    浏览(79)
  • Jpeg-9e源码编译(Win10,VS2022)

    Jpeg-9e源代码下载网址 http://www.ijg.org/ 下载后得到文件 解压缩到“D:SourceCodesjpeg-9e” 在目录“D:SourceCodesjpeg-9e”中创建文本文件,并改名为“win32.mak”,其内容如附注所示。 使用命令行,进入VS2022开发者命令行窗口 cd D:ProgramsMicrosoft Visual Studio2022CommunityVCAuxiliaryBuild D

    2024年02月04日
    浏览(60)
  • VS2022编译安装Qt6.5源码

    包括安装VS2022,Windows SDK,Python3,这里就不再一一介绍了,需要说明的一点是如果要编译 QtWebEngine 和 QtPdf 两个组件的依赖问题,当然如果不需要,也可以不管它,则不会编译。 python库 html5lib : 使用 pip install html5lib 安装。 gperf、bison、flex 如果安装有Qt 5的Windows版本,比如

    2024年02月04日
    浏览(75)
  • VS2022配置工程的编译路径(输出目录和中间目录)

    TIPS:以下使用visual C++中Windows桌面向导生成的解决方案为例。且演示的visual studio的版本为2022,即visual studio 2022。  注意:不勾选放在同一目录下     我们在解决方案内新建两个项目  其中,两个项目project1和project2的编译路径,即输出目录和中间目录均是默认配置。 ( 项目

    2024年02月08日
    浏览(60)
  • 12.2 实现键盘模拟按键

    本节将向读者介绍如何使用键盘鼠标操控模拟技术,键盘鼠标操控模拟技术是一种非常实用的技术,可以自动化执行一些重复性的任务,提高工作效率,在Windows系统下,通过使用各种键盘鼠标控制函数实现动态捕捉和模拟特定功能的操作。 键盘鼠标的模拟是实现自动化的必

    2024年02月08日
    浏览(117)
  • Win10 + VS2022 + OpenCV 4.7 + contrib + cuda加速 编译

    https://download.csdn.net/download/Kasper_2009/88252429 https://download.csdn.net/download/Kasper_2009/88252429 在cmd命令中打nvidia-smi看支持的cuda最高版本 cuda版本选择也不能过于早,作者之前用过cuda11.2,在后续vs编译环节发现其最高只支持vs2019,不支持vs2022。目前作者使用cuda11.8。 下载安装cuda:CU

    2024年02月17日
    浏览(45)
  • VS2022(V17.6.4)编译UE4源码配置文件(源码包含自编译CEF)

    https://note.youdao.com/s/BwQ80dXk

    2024年02月08日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包