当前位置:网站首页>Visualstudio2019 compilation configuration lastools-v2.0.0 under win10 system
Visualstudio2019 compilation configuration lastools-v2.0.0 under win10 system
2022-07-06 01:50:00 【Dianyunxia】
Catalog
One 、 summary
1、LAStools-v2.0.0
For some historical reason ,LAStools The library is updated again . Last updated on :2022 year 1 month 7 Japan .LASTools Version is :220107. Due to some requests , Now let's use git Release the function .LASTools stay YYMMDD Version control is used in the scheme . This is for most LASTools It is very common for users , So keep this version number . Besides , We will follow the open source version git Version control guide . They may also flow into the source code later . Because we have something very similar to history , We directly from 2.0.0 edition Start .
2、 Download decompression
github link :https://github.com/LAStools/LAStools/releases/tag/v2.0.0
Download the contents in the red box and unzip 
Two 、 Source code compilation
2.1 open
Use VS2019 open lastools.dsw
Migrating solutions and projects 
When the following interface appears , Just click ok .
2.2 Remove the items that failed to load

2.3 Modify the code
open LASlib The header file mydefs.hpp, Locate the 69 That's ok , Only keep #if defined(_MSC_VER), Delete or comment other code in this line .
2.4 Configuration manager
The configuration process is shown in the figure below :

2.5 Modify the output directory
Right click LASlib— attribute — Configuration properties — routine — The output directory — It is amended as follows :
$(SolutionDir)$(ProjectName)\$(Configuration)\
2.6 Modify the header file directory
Right click LASlib— Configuration properties —C/C++— routine — Attach include directory — Delete “…\laszip\stl”
2.7 Modify the runtime
Right click LASlib— attribute —C/C++— Code generation — Runtime — choice “ Multithreading (/MD)”.(VS2019 The default is multithreading /MTd, before ,open3d When compiling, you choose Multithreading (/MD), Therefore, multi threading is also selected here (/MD))
2.8 Generate lib
Right click LASlib— To regenerate the . The following interface appears , be debug Mode lastools Compile successfully .
To configure release Pattern 
Right click LASlib— Configuration properties —C/C++— routine — Attach include directory — Delete “…\laszip\stl”
Right click LASlib— To regenerate the . The following interface appears , be release Mode lastools Compile successfully .
2.9 lib route
...\LAStools\LAStools\LASlib\lib

3、 ... and 、 Package into Library
- open LASlib—lib newly build Debug and Release Folder , take
LASlib.libPut in Release Folder , takeLASlibD.libPut in Debug Folder . - New folder LasLib, take
...\LAStools\LAStools\LASlibThe next path LASlib and lib Copy the folder and put it into the new folder . - take
...\LAStools\LAStools\LASzipThe next path src Copy the folder and put it into the new folder . Library encapsulation completed .
Four 、VS2019 Distribution Library
I am LASlib The path of is :
D:\Open3D_0.13.0\LASlib
- Configuration properties —C/C++— Code generation — Runtime , Multithreading (/MT), And steps 2.7 The settings are consistent .
- VC++ Catalog — Contains the directory
D:\Open3D_0.13.0\LASlib\include
D:\Open3D_0.13.0\LASlib\src
- VC++ Catalog — The library catalog
Release Pattern
D:\Open3D_0.13.0\LASlib\lib\Release
Debug Pattern
D:\Open3D_0.13.0\LASlib\lib\Debug
- Additional dependency
Release Pattern
LASlib.lib
Debug Pattern
LASlibD.lib
5、 ... and 、 Test code
#include <iostream> // C++
#include "lasreader.hpp"// LasReader
#include "open3d/geometry/PointCloud.h"// Open3D Point cloud file
#include "open3d/visualization/utility/DrawGeometry.h" // Open3D Visualization header file
using namespace std;
int main(int argc, char* argv[])
{
// ---------------------LASLib from las Read the point cloud in the file ---------------------------
LASreadOpener lasreadopener;
LASreader* lasReader = lasreadopener.open("R.las");
if (lasReader == 0)
{
fprintf(stderr, "ERROR: could not open lasreader\n");
}
printf("reading %I64d points from '%s'.\n", lasReader->npoints, lasreadopener.get_file_name());
// ------------------------Open3D Get point cloud coordinates ------------------------------
auto cloud = std::make_shared<open3d::geometry::PointCloud>();
int pointAmount = lasReader->npoints; // las The number of midpoint
cloud->points_.resize(pointAmount);
int i = 0;
while (lasReader->read_point() && i < pointAmount)
{
cloud->points_[i][0] = lasReader->point.get_X(); // Get point cloud X coordinate
cloud->points_[i][1] = lasReader->point.get_Y(); // Get point cloud Y coordinate
cloud->points_[i][2] = lasReader->point.get_Z(); // Get point cloud Z coordinate
++i;
}
// ------------------------Open3D Display point cloud coordinates ------------------------------
open3d::visualization::DrawGeometries({
cloud }, "PointCloud", 800, 600);
return 0;
}
6、 ... and 、 Result display
reading 595018 points from 'R.las'.

边栏推荐
- [Yu Yue education] Liaoning Vocational College of Architecture Web server application development reference
- Redis-列表
- C web page open WinForm exe
- dried food! Accelerating sparse neural network through hardware and software co design
- [flask] official tutorial -part3: blog blueprint, project installability
- 一圖看懂!為什麼學校教了你Coding但還是不會的原因...
- c#网页打开winform exe
- Tensorflow customize the whole training process
- Alibaba canal usage details (pit draining version)_ MySQL and ES data synchronization
- Sword finger offer 38 Arrangement of strings
猜你喜欢

国家级非遗传承人高清旺《四大美人》皮影数字藏品惊艳亮相!
![[ssrf-01] principle and utilization examples of server-side Request Forgery vulnerability](/img/43/a8f302eb69beff4037aadda808f886.png)
[ssrf-01] principle and utilization examples of server-side Request Forgery vulnerability

Computer graduation design PHP college student human resources job recruitment network

Basic operations of database and table ----- delete data table

【Flask】官方教程(Tutorial)-part2:蓝图-视图、模板、静态文件

Blue Bridge Cup embedded_ STM32_ New project file_ Explain in detail
![[understanding of opportunity-39]: Guiguzi - Chapter 5 flying clamp - warning 2: there are six types of praise. Be careful to enjoy praise as fish enjoy bait.](/img/3c/ec97abfabecb3f0c821beb6cfe2983.jpg)
[understanding of opportunity-39]: Guiguzi - Chapter 5 flying clamp - warning 2: there are six types of praise. Be careful to enjoy praise as fish enjoy bait.

Numpy array index slice

Alibaba canal usage details (pit draining version)_ MySQL and ES data synchronization

2 power view
随机推荐
01. Go language introduction
C web page open WinForm exe
500 lines of code to understand the principle of mecached cache client driver
竞价推广流程
ClickOnce 不支持请求执行级别“requireAdministrator”
同一个 SqlSession 中执行两条一模一样的SQL语句查询得到的 total 数量不一样
leetcode3、实现 strStr()
Unity learning notes -- 2D one-way platform production method
Alibaba-Canal使用详解(排坑版)_MySQL与ES数据同步
selenium 等待方式
Thinking about the best practice of dynamics 365 development collaboration
Flowable source code comments (36) process instance migration status job processor, BPMN history cleanup job processor, external worker task completion job processor
Genius storage uses documents, a browser caching tool
Redis daemon cannot stop the solution
Blue Bridge Cup embedded_ STM32 learning_ Key_ Explain in detail
Computer graduation design PHP college student human resources job recruitment network
【详细】快速实现对象映射的几种方式
National intangible cultural heritage inheritor HD Wang's shadow digital collection of "Four Beauties" made an amazing debut!
leetcode-两数之和
[flask] obtain request information, redirect and error handling