前言
笔者做过一段时间的车载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拉取代码
shell
git clone --recursive https://gitlab.kitware.com/LidarView/lidarview.git
用QtCreator打开工程SuperBuild工程cmake文件,配置build类型(Windows只能支持RelWithDebInfo和Release模式)
cmake
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文件改一下就得了
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的一致