CloudCompare的下载和编译_pcl cgal 那个好_sendinn的博客-程序员秘密

技术标签: c++  三方库的下载和编译  

目录

CloudCompare git源码

参考文献:

PCL库编译

PDAL

GDAL + VS2017编译

下载解压后的文件目录下找到nmake.opt打开修改

找x86_x64的兼容工具命令提示

CGAL库

LAS库

Cmake注意

Sln生成注意

cloudcompare2.11.3构建(pdal,gdal,cgal,laslib)

cgal

插件管理

cloudcompare2.12编译


CloudCompare git源码

参考文献:

CloudCompare 最新版编译与运行(全网最详细)_Neverland_LY的博客-程序员秘密_cloudcompare

CloudCompare + VS2015 编译指南,手把手教你配置最全插件!_东风小火的博客-程序员秘密_cloudcompare 编译

PCL库编译

有exe直接下载安装就成

https://github.com/PointCloudLibrary/pcl/releases

Vs2017下载的是1.9.1

PDAL

Anaconda下载

Vcpkg下载

osgeo4w下载[推荐]

GDAL + VS2017编译

下载:

DownloadSource – GDAL

随便找一个zip格式的压缩包下载即可

Tip:

v2.3.2版本的,3.0以上版本还要依赖proj库,很麻烦

下载解压后的文件目录下找到nmake.opt打开修改

41行修改成1910表示使用VS2017

57行修改成编译后的文件位置

184行去掉开头的#,这里已经去掉

找x86_x64的兼容工具命令提示

======>编译一直出错,不管是vs64还是64native tool还是交叉x64_x84都是模块计算机和目标计算机不符合,网上有很多方法都不适用,下链接位方案(其实不好用,但思路可以借鉴)

VS2017编译GDAL常见问题_一个渣渣的世界的博客-程序员秘密

所以无可奈何,找了别的版本试下(因为说3.0版本以上要pro库支撑所以选3.0以下最新就好)

Git:

https://github.com/OSGeo/gdal/releases/tag/v2.4.4

官网:

DownloadSource – GDAL

没看到有2.4.4,选了2.4.1

同样找到nmake.opt修改

用VS的x64 Native Tools执行:

nmake /f makefile.vc

nmake /f makefile.vc install

nmake /f makefile.vc devinstall

就可以在指定目录下看到了(第一步大概5分钟,没看到模块计算机不符合什么的->成功!)

Ps:下次编译选3.0以下最新的2.4.4试试

CGAL库

下载:

https://github.com/CGAL/cgal/releases

5.0以上版本只需要包含头文件即可,所以下下来就行

LAS库

下载:

LAStools: converting, filtering, viewing, processing, and compressing LIDAR data in LAS format

找到标题的laslib->download

参考:

VS2017+win10编译LASTools库_啊吼!的博客-程序员秘密

VS2017+win10编译LASlib(LASTools)库_chen_jared的博客-程序员秘密_laslib编译

下载好解压,打开lasTool.dsw升级成2017的,移除掉加载失败的项目,

C/C++-代码生成中的运行库改为多线程DLL(/MD) ->否则cloudCompare报MTD相关问题

属性对话框 -C/C++ -常规下-附加包含目录中删除带有stl的一项

修改laslib下mydefs.hpp,注释掉后面的

Tip:文件夹里是已经转换好的sln,可以直接运行

Cmake注意

CMAKE_INSTALL_PREFIX 是生成sln后编译存的位置,自己设置个输出目录(注意不要设置在C盘下,且最好不要有空格,否则INSTALL生成环节会报错没有权限生成文件)

QT5_ROOT_PATH 选到qt下msvc的根目录即可

勾选PDAL,GDAL等选项之后configure才会标红要求设置目录

PDAL_DIR 没有明确的bin,include,cmake只要求PDALconfig.make

设置为anaconda下载后的位置D:/Anaconda3/envs/myenv/Library/lib/cmake/PDAL

PLUGIN:下勾选的越多,可以使用的功能越多

Sln生成注意

ALL_BUILD生成

INSTALL生成

CloudCompare设为启动项目


cloudcompare2.11.3构建(pdal,gdal,cgal,laslib)

只勾选PDAL的插件,提示找到pdalconfig.cmake的文件夹

生成sln之后需要设置一下环境,否则找不到dll

PATH=$(PATH);$(SolutionDir)libs\qCC_io\Debug;$(SolutionDir)libs\qCC_db\Debug;$(SolutionDir)CC\Debug

打开compare,打开las报错,追踪代码发现不认识las

跟进去发现有五种类型

最后查到

盲猜一波cmake的时候没有勾选GDAL导致

用conda查一下gdal

然后打算装在gdal,发现新建环境还要重新下一遍依赖的三方库,早知道直接叫myenv的为好,

这里就装在pdal好了,结果不行,不知道是不是python版本高了

说要安装numpy,(要更新之前的依赖库)

找不到目录,我们换个channel试下

再回头试下gdal

也可以选择创建一个低版本的python的虚拟环境库

这里直接创建了一个新的库环境,发现可以

conda create -n gdal -c conda-forge gdal 

生成的lib叫gdal_i.lib,找了好久

至此,我们重新cmake一下勾选上

结果还是不行,发现plugin下面有个qlas的选项,勾选上,configure一下,就会出现las的相关选项了

勾选了las相关还是不行!

cgal

cgal传送门

现在cloudcompare需要gmp,mpfr,boost库,找到传送门里的

下载下来替换掉cgal里的CGAL-5.2.1\auxiliary下的gmp文件夹

插件管理

软件启动时会加载插件,最后通过下面函数在指定位置查找dll来加载插件

loadFromPathsAndAddToList

只需要把plugin的dll编译生成出来放到五个目录中的一个,即可加载las文件

cloudcompare2.12编译

https://github.com/CloudCompare/CloudCompare/releases/tag/v2.12.3

CloudCompare/libs/qCC_db/extern/里的东西单独拎出来了,所以需要额外单独下载

https://github.com/CloudCompare/CCCoreLib (下载完了放进extern下)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/sendinn/article/details/111556371

智能推荐

Hive内部表和外部表的区别_hive外部表和内部表的区别_蓦然_的博客-程序员秘密

1)内部表数据由Hive自身管理,外部表数据由HDFS管理;2)内部表的数据存储位置是hive.metastore.warehouse.dir,默认位置:/user/hive/warehouse,外部表数据的存储位置由自己制定(如果没有LOCATION,Hive将在HDFS上的/user/hive/warehouse文件夹下以外部表的表名创建一个文件夹,并将属于这个表的数据存放在这里);3)删除内部表会直接删除元数据(metadata)及存储数据;删除外部表仅仅会删除元数据,HDFS上的文件并不会被

Unity开发3.3.0VRTK(基础功能快速开发)_unity vrtk_北特的博客-程序员秘密

一、环境配置使用因为VRTK3.3.0版本是基于SteamVRSDK早期版本封装的,所以SteamSDK下载1.0+的版本最为合适,可以去SteamVR官网下载早期历史版本,而VRTK版本可以从unity商店下载或者去VRTK官网都可以。Steam官网: https://github.com/ValveSoftware/steamvr_unity_plugin/releasesVRTK官网:* https://vrtoolkit.readme.io/unity建议版本:2018 (2019.3

微信小程序开发记录问题(https请求问题,获取手机号授权,vantUI引用规则)_https获取不到手机号_努力中的小曾的博客-程序员秘密

在请求https的问题:1.1 需要在右上角中的“详情” --》 “本地设置” --》 把 不校验合法域名/ web-view(业务域名) / TLS版本以及HTTPS正式的勾去掉 如图1.2 然后需要重启开发者软件 :在引用别的UI框架(vant框架的时候)2.1 需要在文件夹中创建一个 “miniprogram” 文件夹 然后需要npm init 一下 构建了一个package.json文件:如图2.2 然后在菜单栏中找到 “工具” --> “构建 npm” 按一下就行了2...

Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver问题解决方案_Cansluck的博客-程序员秘密

Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.securi

iOS开发-用ZipArchive添加和解压zip包_wakice的博客-程序员秘密

ZipArchive是一个开源的zip开发包工具。使用方法如下: 创建/添加一个zip包ZipArchive* zipFile = [[ZipArchive alloc] init];//次数得zipfilename需要一个完整得路径,例如***/Documents/demo.zip[zipFile CreateZipFile2:@"zipfil

【精】LintCode领扣算法问题答案:993. 数组划分 I_二当家的白帽子的博客-程序员秘密

领扣LintCode算法问题答案-993. 数组划分 I目录993. 数组划分 I题解鸣谢993. 数组划分 I给一个有 2n 个整数的数组,你的任务是把这些整数分成 n 组,如(a1, b1),(a2, b2),…,(an, bn)。并且使得 i 从 1 到 n 的 min(ai, bi)之和尽可能的大。n 是一个正整数,且范围为 [1, 10000].数组中的元素范围为[-10000, 10000]。样例 1:输入: [1,4,3,2]输出: 4解释: n 是 2, 最大的数对和.

随便推点

Docker利用Nginx部署前端项目_docker nginx部署前端项目_郭同志的博客-程序员秘密

Dockerfile左侧的dist文件夹就是你前端项目存放的文件夹、nginx.conf.template文件中设置了首页跳转index等,使用时记得改成自己所需的;注:如果是linux系统,先找个位置创建文件夹,然后利用可视化窗口将三个文件全部拉到刚刚创建的文件夹下即可。--p:端口号,左侧为外网访问端口,右侧为内部映射端口,与nginx.conf.template的监听端口默认80一样即可。到此为止,你的项目就成功部署到Docker中的Nginx中了,撒花*★,°*:.☆( ̄▽ ̄)/$:*.°★*。

如何清理git敏感数据_git仓库涉嫌违规(tv)_QK芒果小洛的博客-程序员秘密

如何清理git敏感数据参考:https://docs.github.com/cn/github/authenticating-to-github/removing-sensitive-data-from-a-repositoryhttps://www.cnblogs.com/lovelyli/p/13359421.htmlhttps://www.cnblogs.com/huipengly/p/8424096.html当我们在开发项目时,经常使用到配置文件,一些配置文件会包含敏感数据,但是如果要开源

ECharts 实现世界地图_echarts实现世界地图_EsquireY的博客-程序员秘密

效果图源代码(仅供参考)<template> <div class="echarts"> <div class="className" id="id" style="width: 100%; height: 450px" ref="myEchart" ></div> </div></template><script lang="ts">imp

若依项目模块化开发_weixin_30580341的博客-程序员秘密

之前一直有关注若依后台管理系统,目前已升级至3.0版本,与之前版本最大的区别在于进行了模块的拆分。 也使用过Guns,基础的内置功能先不说,与若依使用对比下来,感觉若依界面更加简洁,开发更加简单,一是从日志方面:虽然若依日志记录相对简单,但无需为日志格外写代码;二是从数据封装方面:guns使用warpper包装的形式,不是很习惯。 下面具体记录一下,在若依该版本下自己创建子模...

输入流InputStream的read(byte b[], int off, int len)方法的使用_过河的小卒子的博客-程序员秘密

输入流InputStream的read(byte b[], int off, int len)方法的使用 参数 byte b[] : the buffer into which the data is read. 读取数据的缓冲区 int off : the start offset in array byte b[] . byte b[]中的起始偏移量 int len: the...

STM32学习第一周之 按键矩阵_亮亮。。。的博客-程序员秘密

添加一个矩阵键盘,STM32 检测到不同按键按下,实现不同功能:键 1-7 按下,依次点亮红、绿、蓝、黄、青、紫、白键 8-14 按下,依次熄灭红、绿、蓝、黄、青、紫、白键 15 按下,蜂鸣器响 ; 键 16 按下,蜂鸣器不响如有好的优化建议,还请不吝赐教直接上代码keypad.h#include "sys.h"#ifndef _KeyPad_H#define _KeyPad_...

推荐文章

热门文章

相关标签