当前位置:网站首页>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.lib
Put in Release Folder , takeLASlibD.lib
Put in Debug Folder . - New folder LasLib, take
...\LAStools\LAStools\LASlib
The next path LASlib and lib Copy the folder and put it into the new folder . - take
...\LAStools\LAStools\LASzip
The 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'.
边栏推荐
- Unity learning notes -- 2D one-way platform production method
- Blue Bridge Cup embedded_ STM32 learning_ Key_ Explain in detail
- Extracting key information from TrueType font files
- PHP campus movie website system for computer graduation design
- Unity VR resource flash surface in scene
- [技术发展-28]:信息通信网大全、新的技术形态、信息通信行业高质量发展概览
- [solved] how to generate a beautiful static document description page
- 【全網最全】 |MySQL EXPLAIN 完全解讀
- Redis如何实现多可用区?
- Dynamics 365 开发协作最佳实践思考
猜你喜欢
2022年PMP项目管理考试敏捷知识点(8)
使用npm发布自己开发的工具包笔记
Basic operations of databases and tables ----- unique constraints
02. Go language development environment configuration
Leetcode sum of two numbers
Leetcode skimming questions_ Invert vowels in a string
Poj2315 football games
Force buckle 1020 Number of enclaves
500 lines of code to understand the principle of mecached cache client driver
XSS learning XSS lab problem solution
随机推荐
Card 4G industrial router charging pile intelligent cabinet private network video monitoring 4G to Ethernet to WiFi wired network speed test software and hardware customization
UE4 unreal engine, editor basic application, usage skills (IV)
A Cooperative Approach to Particle Swarm Optimization
安装php-zbarcode扩展时报错,不知道有没有哪位大神帮我解决一下呀 php 环境用的7.3
[technology development -28]: overview of information and communication network, new technology forms, high-quality development of information and communication industry
Basic operations of databases and tables ----- default constraints
抓包整理外篇——————状态栏[ 四]
Unity VR resource flash surface in scene
阿裏測開面試題
[技术发展-28]:信息通信网大全、新的技术形态、信息通信行业高质量发展概览
National intangible cultural heritage inheritor HD Wang's shadow digital collection of "Four Beauties" made an amazing debut!
[le plus complet du réseau] | interprétation complète de MySQL explicite
Redis如何实现多可用区?
Cadre du Paddle: aperçu du paddlelnp [bibliothèque de développement pour le traitement du langage naturel des rames volantes]
同一个 SqlSession 中执行两条一模一样的SQL语句查询得到的 total 数量不一样
Paddle框架:PaddleNLP概述【飞桨自然语言处理开发库】
[flask] obtain request information, redirect and error handling
leetcode刷题_平方数之和
NumPy 数组索引 切片
【详细】快速实现对象映射的几种方式