一、下载解压
下载地址 http://lastools.github.io/download/LAStools.zip
解压地址 G:/LAStools/
二、编译
2.1 打开
用VS2017打开lastools.dsw。历史原因,一直点确定就可以。
2.2 移除失败的项目
2.3 修改代码
打开LASlib的头文件mydefs.hpp,定位到69行,只保留 #if defined(_MSC_VER),删除或注释该行其它代码。
2.4 注
Win 10系统需要,右键LASlib—属性—配置属性—常规—Windows SDK 版本—选择合适的。
否则可能出现错误:找不到Windows SDK 版本8.1。请安装所需的版本的Windows SDK或者在项目属性页中或通过右键单击解决方案并选择”重定解决方案目标”来更改SDK版本。
2.5 修改输出目录
右键LASlib—属性—配置属性—常规—输出目录—修改为“$(SolutionDir)$(ProjectName)\$(Configuration)\”。
2.6 修改头文件目录
右键LASlib—配置属性—C/C++—常规—附加包含目录—删除“...\laszip\stl”
2.7 修改运行库
右键LASlib—属性—C/C++—代码生成—运行库—笔者选择“多线程DLL(/MD)”。(默认应该是多线程/MT)
2.8 生成lib
右键LASlib—重新生成。结果在 G:/LAStools/LASlib/Release/LASlib.lib
三、测试
3.1 新建工程
(1)配置属性—常规—Windows SDK版本,与前者保持一致。
(2)配置属性—C/C++—代码生成—运行库,(默认)选择多选程DLL(/MD),与前者保持一致。
3.2 头文件目录
配置属性—C/C++—常规——附加包含目录,添加 G:\LAStools\LASlib\inc 和 G:\LAStools\LASzip\src
3.3 静态库
配置属性—链接器—输入——添加 G:\LAStools\LASlib\Release\LASlib.lib
3.4 测试代码
#include "lasreader.hpp"
#include "laswriter.hpp"
/* 将las文件转换为laz文件 */
void MDtestLASlib::on_pushButton_clicked()
{
LASreadOpener lasreadopener;
lasreadopener.set_file_name("G:/a1.las");
LASreader* lasreader = lasreadopener.open();
LASwriteOpener laswriteopener;
laswriteopener.set_file_name("G:/b2.laz");
LASwriter* laswriter = laswriteopener.open(&lasreader->header);
while (lasreader->read_point())
laswriter->write_point(&lasreader->point);
laswriter->close();
delete laswriter;
lasreader->close();
delete lasreader;
}