LASTools在Win10下配置VS2013

1.LASTools编译

虽然网上看到很多编译LASTools的教程,而且编译成功的,但是当自己编译时却出现各种问题。尝试了多种配置方式,现在将自己的配置方法小结下,避免自己以及小伙伴们走弯路。

1.1 LASTools下载

官网下载:http://www.cs.unc.edu/~isenburg/lastools/
最好在官网上下载,其他网站下载的无法保证其是否编译成功
在这里插入图片描述

1.2 解压

解压到一个目录下,最好不要有中文,另外是一定要解压缩在一个目录下,要不然会出错!!
在这里插入图片描述

1.3 打开

使用VS2013打开lastools.dsw,其实在实际配置过程中,使用不同版本的VS打开,应该相差不大
在这里插入图片描述
- (1)出现复查项目和解决方案更改,直接确定
在这里插入图片描述
(2)XXXX.XXX 已损坏无法打开,直接确定若干次
在这里插入图片描述
(3)选中加载失败的工程,右键移除(DEL)
在这里插入图片描述
(4)修改 LASlib 的属性(右击LASlib,弹出其属性窗口),配置全部修改成 Release ,平台全部修改成 x64。(Debug类似,在这里不再详细介绍)
在这里插入图片描述
(5)C/C++ -> 常规 -> 附加包含目录下 删除 …laszip\stl**
在这里插入图片描述****
(6)修改 LASlib -> Header Files ->mydefs.hpp 的内容,见下代码(约代码 69-73行):
修改前

#if defined(_MSC_VER) || defined (__MINGW32__)
typedef int                BOOL;
#else
typedef bool               BOOL;
#endif

修改后:

#if defined(_MSC_VER) // || defined (__MINGW32__)
typedef int                BOOL;
#else
typedef bool               BOOL;
#endif

**(7)修改属性:(这也是最重要的,区别是否能够编译成功的关键)
很多博客在编译LASTools时是没有这个步骤的,个人猜想可能这个设置对于他的工程刚好可以忽略,没有报错。但是个人在实际编译中,这个步骤必须要有,否则编译的lib文件不可用。

将安全周期检查改为否,否则会出现C4996报错
在这里插入图片描述
建议将运行时库改为多线程DLL
在这里插入图片描述
(8)编译
(1)右键 LASlib 清理
(2)右键 LASlib 生成
在这里插入图片描述
编译后得到的lib文件如下:
在这里插入图片描述

2. 环境配置

2.1环境配置如下:

属性界面中:
VC++目录 -> 包含目录:E:\soft\major\lastools\LAStools\LASlib\inc 和 E:\soft\major\lastools\LAStools\LASzip\src
VC++目录 -> 库目录:E:\soft\major\lastools\LAStools\LASlib\lib
链接器 -> 输入 -> 附加依赖项:(release)LASlib.lib (debug)LASlibD.lib

在这里插入图片描述

2.2 测试

#include "lasreader.hpp"
#include "laswriter.hpp"
#include<fstream>
#include<iostream>
#include<iomanip>
using namespace std;


void main()
{
	
	LASreadOpener lasreadopener;
	lasreadopener.set_file_name("G:\\点云数据\\points.las");
	LASreader* lasReader = lasreadopener.open();

	int majorVersion = lasReader->header.version_major;
	int minorVersion = lasReader->header.version_minor;
	int pointDataFormat = lasReader->header.point_data_format;
	int pointAmount = lasReader->header.number_of_point_records;
	double maxX = lasReader->header.max_x;
	double minX = lasReader->header.min_x;
	double maxY = lasReader->header.max_y;
	double minY = lasReader->header.min_y;
	double maxZ = lasReader->header.max_z;
	double minZ = lasReader->header.min_z;
	double deltaX = maxX - minX;
	double deltaY = maxY - minY;
	double deltaZ = maxZ - minZ;
	double xOffset = lasReader->header.x_offset;
	double yOffset = lasReader->header.y_offset;
	double zOffset = lasReader->header.z_offset;
	double xScale = lasReader->header.x_scale_factor;
	double yScale = lasReader->header.y_scale_factor;
	double zScale = lasReader->header.z_scale_factor;

	cout << "majorVersion = " << majorVersion << endl;
	cout << "minorVersion = " << minorVersion << endl;
	cout << "pointDataFormat = " << pointDataFormat << endl;
	cout << "number_of_point_records = " << pointAmount << endl;
	}

看其运行是否成功,若成功表明编译成功。
在这里插入图片描述
要是懒得编译,这是我编译好的lib文件
https://download.csdn.net/download/qq_32867925/82784066
参考博客:
https://blog.csdn.net/qq_19600917/article/details/97398123

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

点云实验室lab

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值