目录
cloudcompare2.11.3构建(pdal,gdal,cgal,laslib)
CloudCompare git源码
参考文献:
CloudCompare 最新版编译与运行(全网最详细)_Neverland_LY的博客-CSDN博客_cloudcompare
CloudCompare + VS2015 编译指南,手把手教你配置最全插件!_东风小火的博客-CSDN博客_cloudcompare 编译
PCL库编译
有exe直接下载安装就成
https://github.com/PointCloudLibrary/pcl/releases
Vs2017下载的是1.9.1
PDAL
Anaconda下载
Vcpkg下载
osgeo4w下载[推荐]
GDAL + VS2017编译
下载:
随便找一个zip格式的压缩包下载即可
Tip:
用v2.3.2版本的,3.0以上版本还要依赖proj库,很麻烦
下载解压后的文件目录下找到nmake.opt打开修改
41行修改成1910表示使用VS2017
57行修改成编译后的文件位置
184行去掉开头的#,这里已经去掉
找x86_x64的兼容工具命令提示
======>编译一直出错,不管是vs64还是64native tool还是交叉x64_x84都是模块计算机和目标计算机不符合,网上有很多方法都不适用,下链接位方案(其实不好用,但思路可以借鉴)
VS2017编译GDAL常见问题_一个渣渣的世界的博客-CSDN博客
所以无可奈何,找了别的版本试下(因为说3.0版本以上要pro库支撑所以选3.0以下最新就好)
Git:
https://github.com/OSGeo/gdal/releases/tag/v2.4.4
官网:
没看到有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
LAS库
下载:
LAStools: converting, filtering, viewing, processing, and compressing LIDAR data in LAS format
找到标题的laslib->download
参考:
VS2017+win10编译LASTools库_啊吼!的博客-CSDN博客
VS2017+win10编译LASlib(LASTools)库_chen_jared的博客-CSDN博客_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生成注意
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
现在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下)