当前位置:网站首页>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'.

边栏推荐
- module ‘tensorflow. contrib. data‘ has no attribute ‘dataset
- NLP第四范式:Prompt概述【Pre-train,Prompt(提示),Predict】【刘鹏飞】
- 3D视觉——4.手势识别(Gesture Recognition)入门——使用MediaPipe含单帧(Singel Frame)和实时视频(Real-Time Video)
- Redis string type
- Computer graduation design PHP college classroom application management system
- Leetcode skimming questions_ Verify palindrome string II
- ClickOnce does not support request execution level 'requireAdministrator'
- Cookie concept, basic use, principle, details and Chinese transmission
- internship:项目代码所涉及陌生注解及其作用
- 【Flask】响应、session与Message Flashing
猜你喜欢
Folio. Ink is a free, fast and easy-to-use image sharing tool

Cookie concept, basic use, principle, details and Chinese transmission

leetcode3、实现 strStr()

Computer graduation design PHP enterprise staff training management system

leetcode-两数之和

Basic operations of databases and tables ----- unique constraints

Extracting key information from TrueType font files
![抓包整理外篇——————状态栏[ 四]](/img/1e/2d44f36339ac796618cd571aca5556.png)
抓包整理外篇——————状态栏[ 四]

Initialize MySQL database when docker container starts

Une image! Pourquoi l'école t'a - t - elle appris à coder, mais pourquoi pas...
随机推荐
剑指 Offer 38. 字符串的排列
Basic operations of database and table ----- delete data table
Accelerating spark data access with alluxio in kubernetes
干货!通过软硬件协同设计加速稀疏神经网络
Redis守护进程无法停止解决方案
Get the relevant information of ID card through PHP, get the zodiac, get the constellation, get the age, and get the gender
【已解决】如何生成漂亮的静态文档说明页
Une image! Pourquoi l'école t'a - t - elle appris à coder, mais pourquoi pas...
leetcode刷题_验证回文字符串 Ⅱ
ctf. Show PHP feature (89~110)
Leetcode3, implémenter strstr ()
Computer graduation design PHP college classroom application management system
UE4 unreal engine, editor basic application, usage skills (IV)
Folio. Ink is a free, fast and easy-to-use image sharing tool
1. Introduction to basic functions of power query
2 power view
Reasonable and sensible
Paddle框架:PaddleNLP概述【飛槳自然語言處理開發庫】
How does redis implement multiple zones?
抓包整理外篇——————状态栏[ 四]