LidarView工程搭建指南

news/2024/7/20 14:01:16 标签: LidarView, LiDAR, 上位机, 开源软件

前言

笔者做过一段时间的车载LiDAR开发,对LidarView开源项目进行过深度定制,摸索了一套LidarView软件的开发和调试方法

1 软件安装

1.1 安装准备

Windows10系统平台为例,依次下载以下工具软件,软件(VS、Qt、cdb)的版本很重要!以下版本经过验证是没有问题的

序号工具版本备注
1git拉取开源仓库代码
2cmake代码工程管理工具
3tortoiseGit代码对比分析工具
4VisualStudio2017win10开发环境配置
5Qt5.12.95.12.9Qt环境安装
6cdb2017Windows调试器
7tlyvpn工具,加快拉取代码速度
8Inno Setup Compilerwindows平台exe打包工具

1.2 安装git

下载并安装最新版git

在这里插入图片描述

1.3 安装cmake

下载并安装最新版cmake

在这里插入图片描述

1.4 安装tortoiseGit

下载并安装最新版tortoiseGit

在这里插入图片描述

1.5 安装Visual Studio 2017

下载vs2017社区版在线安装包,可以在msdn上面下载,安装以下组件

在这里插入图片描述

1.6 安装Qt5.12.9

去官网下载qt-opensource-windows-x86-5.12.9.exe并安装

在这里插入图片描述

记得要把msvc2017勾选上

在这里插入图片描述

1.7 安装cdb

访问网站,下载winsdksetup

在这里插入图片描述

安装cdb是为了调试,这里通过winsdksetup的方式进行安装,选择第一个选项然后点击Next

在这里插入图片描述

选择Yes然后点击Next

在这里插入图片描述

同意(Accept)License Agreement

在这里插入图片描述

勾选Debugging Tools for Windows,点击Install

在这里插入图片描述

然后打开QtCreator Kits页面查看Debugger,发现QtCreator已经自动识别

在这里插入图片描述

1.8 安装tly

这个工具主要是为了加速,因为众所周知的原因,我们需要使用它,这里不详细介绍,当然你也可以使用其它加速工具

1.9 安装Inno Setup Compiler

请参考我的另一篇文章进行安装和配置

2 Superbuild工程配置

官方的代码仓库在gitlab,推荐使用这个源,工程地址是:https://gitlab.kitware.com/LidarView/lidarview.git

在这里插入图片描述

用git拉取代码

git clone --recursive https://gitlab.kitware.com/LidarView/lidarview.git

在这里插入图片描述

用QtCreator打开工程SuperBuild工程cmake文件,配置build类型(Windows只能支持RelWithDebInfo和Release模式)

set(CMAKE_BUILD_TYPE "RelWithDebInfo")
set(WITH_STATIC_LASZIP OFF)
set(SUPERBUILD_ALLOW_DEBUG ON)

在这里插入图片描述

配置build路径,这里配置为E:\debug

在这里插入图片描述

LidarView_133">3 LidarView工程配置

用cmake-gui打开LidarView工程顶层cmake,环境变量配置如下

VariableValueType
CMAKE_INSTALL_PREFIXE:/debug/installPATH
superbuild_python_version3.9STRING
paraview_version5.9STRING
Python3_EXECUTABLEE:/debug/install/Python/python.exeFILEPATH
ParaView_DIRE:/debug/lidarview-superbuild/common-superbuild/paraview/buildPATH
Boost_USE_STATIC_LIBSOFFBOOL
Python3_LIBRARYE:/debug/install/Python/libs/python39.libFILEPATH
Python3_INCLUDE_DIRE:/debug/install/Python/includePATH
PARAVIEW_PLUGIN_ENABLE_debugPluginONBOOL
PARAVIEW_PLUGIN_ENABLE_DatasetIOPluginONBOOL
PARAVIEW_PLUGIN_ENABLE_LidarPluginONBOOL
PARAVIEW_PLUGIN_ENABLE_PythonQtPluginONBOOL
PYTHON_INCLUDE_DIRE:/debug/install/Python/includePATH
PYTHON_LIBRARY_RELEASEE:/debug/install/Python/libs/python39.libFILEPATH
Python3_LIBRARY_RELEASEE:/debug/install/Python/libs/python39.libFILEPATH
LV_BUILD_PLATFORMWindows-AMD64STRING
PCAP_LIBRARYE:/debug/lidarview-superbuild/common-superbuild/pcap/src/Lib/x64/wpcap.libFILEPATH
CMAKE_CONFIGURATION_TYPESRelWithDebInfoSTRING

输入上面的配置后依次点击Configure、Generate,完成后点击Open Project,即可打开LidarView的VS2017工程,可以正常调试,缺陷就是Windows的堆栈信息不那么好用,其实是RelWithDebInfo模式的锅,想要完美的调试信息得用Linux下的Debug版本

4 软件打包

请参考我的另一篇文章进行软件打包操作

5 Linux版上位机

输入上面的配置后依次点击Configure、Generate,完成后点击Open Project,即可打开LidarView的VS2017工程,可以正常调试,缺陷就是Windows的堆栈信息不那么好用,其实是RelWithDebInfo模式的锅,想要完美的调试信息得用Linux下的Debug版本

set(CMAKE_BUILD_TYPE "Debug")
set(WITH_STATIC_LASZIP OFF)
set(SUPERBUILD_ALLOW_DEBUG ON)

在Ubuntu里边用QtCreator直接打开cmake并配置步骤3中的环境变量即可(Linux的路径需要改一改)

参考

本人提交的issue:IDE Debug Problem (#37) · Issues · LidarView / LidarView · GitLab (kitware.com)

如果你在前面的步骤2成功编译了SuperBuild工程,也可以用这个issue里边的方法配置QtCreator调试

注意事项

  • build的路径不能太深,否则很容易编译失败
  • 加速工具最好用上,否则太慢了
  • 偶尔一两次莫名其妙的失败不算什么,多试几次就得了
  • SuperBuild的编译版本一定要跟LidarView的一致

http://www.niftyadmin.cn/n/5353031.html

相关文章

Android Glide从网络加载图片 点击可放大查看效果

前言 通过url来获取bitmap 然后通过glide工具来加载bitmap 来实现图片点击放大 废话不多说,直接上代码 代码 String netPhoto "xxx";//从网络加载缓存try {Glide.with(TakePhotoSurveyActivity.this).asBitmap().load(photoDesign).into(new CustomTa…

# Redis 分布式锁如何自动续期

Redis 分布式锁如何自动续期 何为分布式 分布式,从狭义上理解,也与集群差不多,但是它的组织比较松散,不像集群,有一定组织性,一台服务器宕了,其他的服务器可以顶上来。分布式的每一个节点&…

笔记 | Clickhouse 命令行连接及查询

在 ClickHouse 中,可以使用命令行客户端执行查询。默认情况下,ClickHouse 的命令行客户端称为 clickhouse-client。下面是一些基本的步骤和示例,用于使用 clickhouse-client 进行查询。 首先,需要确保已经安装了 ClickHouse 服务…

0基础学习VR全景平台篇第139篇:如何用圆周率全景相机拍摄VR全景

新手入门 圆周率科技,成立于2012年,是中国最早投身嵌入式全景算法研发的团队之一,亦是全球市场占有率最大的全景算法供应商。相继推出一体化智能屏、支持一键高清全景直播的智慧全景相机--Pilot Era和Pilot One,为用户带来实时畅…

时隔3年 | 微软 | Windows Server 2025 重磅发布

最新功能 以下是微软产品团队正在努力的方向: Windows Server 2025 为所有人提供的热补丁下一代 AD 活动目录和 SMB数据与存储Hyper-V 和人工智能还有更多… Ignite 发布视频 Windows Server 2025 Ignite Video 介绍 Windows Server 2022 正式发布日期是2021年…

activemq 默认端口说明

支持的消息应用协议:OpenWire,Stomp REST,WS Notification,XMPP,AMQP,MQTT 默认使用了61616(openwire/activemq服务监控端口)、5672(amqp)、61613(stomp)、1883(mqtt)、61614(ws),8161(web管理页面端口)等端口

纯静态微信小程序零售商贩项目

购物细节代码 <view class"main"><view class"goods-box"><image src"{{goods.image}}" class"goods-thumb"></image><navigator open-type"switchTab" url"../cart/cart"><vi…

代码随想录算法训练营第六天 - 哈希表part01

哈希表 笔记&#xff1a; 哈希表能解决什么问题呢&#xff0c;一般哈希表都是用来快速判断一个元素是否出现集合里。当我们遇到了要快速判断一个元素是否出现集合里的时候&#xff0c;就要考虑哈希法。 但是哈希法也是牺牲了空间换取了时间&#xff0c;因为我们要使用额外的数…