闲话
接触 esmini 也是一次偶然,初次相识,就感觉相见恨晚。它是一款优秀的 OpenSCENARIO player ,但是我认为称之为 player 有些屈才,它后续完全有演进成仿真器的潜力。
Repository: https://github.com/esmini/esmini
源码构建
如果只是看看 esmini 的效果,完全可以下载他的 Pre-built demo ,接下来介绍如何在国内的环境下构建源码,适用版本 esmini 2.20.0,新版本也有可能适用,只是有可能。
源码构建参考说明链接:here。
mkdir build
cd build
cmake ..
cmake --build . --config Release --target install
如果网络可达(访问一些国外网盘),那么这么做一般就可以了,当然有可能有些lib没有,缺哪些,再 apt install
哪些就好,一般的相关的 lib 可以在原文中找到(PS: 由于我是20.04,原文中提供的是18.04,我就从里面挑构建时自己缺少的安装就可以了)。
原文中的 apt 依赖如下:
Linux Ubuntu 18.04
sudo apt install build-essential git pkg-config libgl1-mesa-dev libpthread-stubs0-dev libjpeg-dev libxml2-dev libpng-dev libtiff5-dev libgdal-dev libpoppler-dev libdcmtk-dev libgstreamer1.0-dev libgtk2.0-dev libcairo2-dev libpoppler-glib-dev libxrandr-dev libxinerama-dev curl cmake
Also, g++ version >= 5 is needed for c++14 code support.
我当时只缺少 xrandr xinerama 这两个,就只安装了这两个包就可以了
sudo apt install libxrandr-dev libxinerama-dev
如果网络不可达(请下载我分享的国内网盘链接:https://pan.baidu.com/s/1W3_l8GgU77wuaYyDZRu_vg
提取码:r3qw)。主要包括以下文件:
文件名 | 7z 解压位置 |
---|---|
googletest_linux.7z | externals/googletest/ |
OpenSceneGraph_linux.7z | externals/OpenSceneGraph/ |
osi_linux.7z | externals/OSI/ |
sumo_linux.7z | externals/SUMO/ |
models.7z | resources/ |
解压需要安装 7z :
# 安装
sudo apt install p7zip-full
# 解压方法
7z x filename
最后的目录结构,如下图所示:
此时,再执行最开始的 build 命令,基本就 ok 了。
最后,在 git 仓库的根路径下执行验证命令,便可以看到 demo 中的 xosc 被播放出来了:
./bin/esmini --window 60 60 800 400 --osc ./resources/xosc/cut-in.xosc
收工。