前言

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

1 软件安装

1.1 安装准备

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

序号 工具 版本 备注
1 git --- 拉取开源仓库代码
2 cmake --- 代码工程管理工具
3 tortoiseGit --- 代码对比分析工具
4 VisualStudio 2017 win10开发环境配置
5 Qt5.12.9 5.12.9 Qt环境安装
6 cdb 2017 Windows调试器
7 tly --- vpn工具,加快拉取代码速度
8 Inno Setup Compiler --- windows平台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

3 LidarView工程配置

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

Variable Value Type
CMAKE_INSTALL_PREFIX E:/debug/install PATH
superbuild_python_version 3.9 STRING
paraview_version 5.9 STRING
Python3_EXECUTABLE E:/debug/install/Python/python.exe FILEPATH
ParaView_DIR E:/debug/lidarview-superbuild/common-superbuild/paraview/build PATH
Boost_USE_STATIC_LIBS OFF BOOL
Python3_LIBRARY E:/debug/install/Python/libs/python39.lib FILEPATH
Python3_INCLUDE_DIR E:/debug/install/Python/include PATH
PARAVIEW_PLUGIN_ENABLE_debugPlugin ON BOOL
PARAVIEW_PLUGIN_ENABLE_DatasetIOPlugin ON BOOL
PARAVIEW_PLUGIN_ENABLE_LidarPlugin ON BOOL
PARAVIEW_PLUGIN_ENABLE_PythonQtPlugin ON BOOL
PYTHON_INCLUDE_DIR E:/debug/install/Python/include PATH
PYTHON_LIBRARY_RELEASE E:/debug/install/Python/libs/python39.lib FILEPATH
Python3_LIBRARY_RELEASE E:/debug/install/Python/libs/python39.lib FILEPATH
LV_BUILD_PLATFORM Windows-AMD64 STRING
PCAP_LIBRARY E:/debug/lidarview-superbuild/common-superbuild/pcap/src/Lib/x64/wpcap.lib FILEPATH
CMAKE_CONFIGURATION_TYPES RelWithDebInfo STRING

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

4 软件打包

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

5 Linux版上位机

Ubuntu20.04上面可以编译LidarView工程,配置流程可以模仿Windows版的配置,Linux版可以完美支持debug模式,只需要把SuperBuild里边的cmake文件改一下就得了

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的一致

LidarView工程搭建指南的更多相关文章

  1. Windows下C,C++开发环境搭建指南

    Windows下C,C++开发环境搭建指南 前情提要 基于近一段时间很多网友发邮件反馈,说一些项目编译出现问题,诸如此类的情况. 就觉得很有必要写一篇C,C++开发环境的小指南,统一回复. 1.君欲善 ...

  2. 某马-某淘商城的day01--->分析,工程搭建,tomcat插件启动工程,svn,反思

    -1:为什么还要写某马的某淘商城呢? 答:万物更新,季节交替.新人总把旧人换.所以呢,前人写了N多遍的东西,我们依旧在学,所以下决心写某马的某淘商城.(也因为在学校还没找工作,所以找个相对长期的事情做 ...

  3. Django---框架简介和工程搭建

    Django框架 一.Django介绍 二.Django工程搭建 回到顶部 一.Django介绍 1.简介    Django的主要目的是简便.快速的开发数据库驱动的网站.它强调代码复用,多个组件可以 ...

  4. [转]OpenShift 集群搭建指南

    转自:http://www.cnblogs.com/zhangning/p/7251810.html OpenShift 集群搭建指南 v1.0 搭建Hyper-v虚拟机或物理机 配置物理机静态IP, ...

  5. 单工程搭建springmvc+spring+mybatis(maven,idea)

    单工程搭建springmvc+spring+mybatis(maven,idea) 1.pom.xml <properties> <project.build.sourceEncod ...

  6. Mybatis工程搭建

    工程搭建 • 1依赖包 • 2配置文件 • 2.1spring-mybatis.xml • 2.2mybatis-config.xml自带配置文件 • 2.3 mapper(dao)对象 • 2.4 ...

  7. JAVAEE——宜立方商城01:电商行业的背景、商城系统架构、后台工程搭建、SSM框架整合

    1. 学习计划 第一天: 1.电商行业的背景. 2.宜立方商城的系统架构 a) 功能介绍 b) 架构讲解 3.工程搭建-后台工程 a) 使用maven搭建工程 b) 使用maven的tomcat插件启 ...

  8. JAVAEE——淘淘商城第一天:电商行业的背景和技术特点,商城的介绍、技术的选型、系统架构和工程搭建

    1. 学习计划 1.电商行业的背景. 2.电商行业的技术特点 3.商城的介绍 a) 常用的名词介绍 b) 系统功能介绍 4.淘淘商城的系统架构 a) 传统架构 b) 分布式架构 c) 基于服务的架构 ...

  9. NTP搭建指南

    NTP搭建指南 前言: NTP是网络时间协议(Network Time Protocol),用于全球的标准时间(UTC)的校正. 一般NTP 服务有不同的层次:一层是源头NTP 服务器,一层服务器都设 ...

  10. SpringBoot - 工程搭建

    SpringBoot 简介 1.Spring 的封装.其设计目的是用来简化 Spring 应用的初始搭建以及开发过程. 2.SpringCloud 微服务的基础 搭建环境 jdk 1.8 + mave ...

随机推荐

  1. Spring Boot Serverless 实战系列“架构篇” | 光速入门函数计算

    ​简介:如何以 Serverless 的方式运行 Spring Boot 应用? ​ 作者:西流(阿里云函数计算专家) Spring Boot 是基于 Java Spring 框架的套件,它预装了 S ...

  2. coredump 瘦身风云

    ​简介: minicoredump神也! ​ 继上一篇非典型程序员青囊搞定内存泄露问题后,美美地睡了一觉.睡梦中,突然金光闪闪,万道光芒照进时光隧道,恍惚来到大唐神龙年间.青囊此时化身狄仁杰高级助理, ...

  3. 使用 Flink Hudi 构建流式数据湖

    ​简介: 本文介绍了 Flink Hudi 通过流计算对原有基于 mini-batch 的增量计算模型的不断优化演进. 本文介绍了 Flink Hudi 通过流计算对原有基于 mini-batch 的 ...

  4. 6.prometheus监控--监控redis/rabbitmq/mongodb

    1.监控redis 1.1 redis_exporter安装方式 1.1.1 二进制源码安装方式 参考nginx二进制安装方法 redis_exporter下载地址:https://github.co ...

  5. 不只有 Spring,这四款 Java 基础开发框架同样值得关注! 审核中

    Java 开发不只有 Spring ,今天给大家推荐几个同样优秀的 Java 基础开发框架,为日常项目开发提供更多的选择.答应我,请不要再叫我 Spring 小子了,​好吗? 项目概览: Guice: ...

  6. 将字节数组输入流拷贝成字节数组输出流,将ByteArrayInputStream转成ByteArrayOutputStream

    /** 将 ByteArrayInputStream 拷贝成 ByteArrayOutputStream * 将 字节数组输入流 拷贝成 字节数组输出流 */ public static ByteAr ...

  7. 深入学习和理解Django视图层:处理请求与响应

    title: 深入学习和理解Django视图层:处理请求与响应 date: 2024/5/4 17:47:55 updated: 2024/5/4 17:47:55 categories: 后端开发 ...

  8. Git——关于Git的一些补充(1)

    Git--关于Git的一些补充(1) 提示:图床在国外且动图比较多的情况下,需要时间加载. 目录: 目录 Git--关于Git的一些补充(1) 提示:图床在国外且动图比较多的情况下,需要时间加载. 目 ...

  9. 【爬虫+情感判定+Top10高频词+词云图】"乌克兰"油管热评python舆情分析

    目录 一.分析背景 二.整体思路 三.代码讲解 3.1 爬虫采集 3.2 情感判定 3.3 Top10高频词 3.4 词云图 四.得出结论 五.同步视频演示 六.附完整源码 一.分析背景 乌克兰局势这 ...

  10. golang 常用操作

    golang 获取切片 slice 第一个 最后一个 元素 复合数据类型切片通常用作Go中索引数据的口语结构. 该类型[]intSlice是具有类型为integer的元素的切片. len函数用于获取切 ...