当前位置: 首页 > article >正文

Liunx-搭建安装VSOMEIP环境教程 执行 运行VSOMEIP示例demo

本文安装环境为Liunx,搭建安装VSOMEIP环境并运行基础例子。

1. 安装基础环境

使用apt-get来安装基础环境,受网络影响可以分开多次安装。环境好的也可以一次性执行。

sudo apt-get install gcc g++
sudo apt-get install cmake
sudo apt-get install libboost-all-dev
sudo apt-get install asciidoc source-highlight doxygen graphviz
sudo apt-get install libbenchmark-dev

1.1如遇环境boost版本问题,卸载cmake、boost重装,VSOMEIP重新拉

sudo apt-get remove --purge cmake
sudo apt-get remove --purge libboost-all-dev
sudo apt-get autoremove
sudo apt-get clean
sudo apt-get update
sudo apt-get install cmake
sudo apt-get update
sudo apt-get install libboost-all-dev

2. 装VSOMEIP

在你希望的目录下,拉取VSOMEIP

git clone https://github.com/COVESA/vsomeip.git

3. 编译VSOMEIP

进入vsomeip目录,执行如下命令:

mkdir build
cd build
cmake ..
make
sudo make install

4. 运行示例demo

尝试运行demo,可看hello_world目录的readme
进入vsomeip/examples/hello_world,执行如下命令:

4.1 编译demo

mkdir build
cd build
cmake ..
make

4.2设置环境变量

第一种:长久有效
打开环境变量文档

vim ~/.bashrc

输入你的文件位置和应用名称

# VSOMEIP configuration
export VSOMEIP_CONFIGURATION=/path/to/your/helloworld-local.json
export VSOMEIP_APPLICATION_NAME=hello_world_service

保存环境变量

source ~/.bashrc

第二种:临时环境变量

export VSOMEIP_CONFIGURATION=/path/to/your/helloworld-local.json
export VSOMEIP_APPLICATION_NAME=hello_world_service

4.3 验证环境变量

echo $VSOMEIP_CONFIGURATION
echo $VSOMEIP_APPLICATION_NAME

4.4 如遇module加载不到,可以尝试清理缓存。1 Configuration module could not be loaded

sudo ldconfig

4.5 执行

运行服务,能够看到正常运行日志打印。使用Wireshark也可以抓到报文信息。

./hello_world_service

4.6 两台机器执行时注意检查虚机添加广播路由,否则会对应不上

ip对应机器发出来的destination,json中对应multicast的x.0.0.0
例如:要根据实际网络环境配置来修改

sudo route add -net 224.0.0.0/4 dev enp0s3

参考:https://github.com/COVESA/vsomeip


http://www.kler.cn/a/501029.html

相关文章:

  • 使用uniapp 微信小程序一些好用的插件分享
  • 一键整理背包界面功能
  • 3. ML机器学习
  • STM32如何测量运行的时钟频率
  • Proser:升级为简易的通讯调试助手软件
  • 大疆C++开发面试题及参考答案
  • 网络安全-防火墙
  • DolphinScheduler自身容错导致的服务器持续崩溃重大问题的排查与解决
  • 第41章 使用 Docker Compose 进行容器迁移的技术指南及优势
  • 二十三种设计模式-原型模式
  • 深度学习张量的秩、轴和形状
  • HarmonyOS鸿蒙开发 弹窗及加载中指示器HUD功能实现
  • Redis数据库——Redis快的原因
  • Erlang语言的软件工程
  • ⭐MySQL的底层原理与架构
  • Unity编程与游戏开发-编程与游戏开发的关系
  • Helm部署activemq
  • 【1】Word:邀请函
  • Unity3D仿星露谷物语开发20之道具简介弹出窗
  • Python Selenium库入门使用,图文详细。附网页爬虫、web自动化操作等实战操作。
  • 【数据结构】航班查询系统:链表的实际运用
  • 大数据学习(34)-mapreduce详解
  • 指令的修饰符
  • STM32F103ZET6战舰版单片机开发板PCB文件 电路原理图
  • 基类指针指向派生类对象,基类指针的首地址永远指向子类从基类继承的基类首地址
  • 【Hystrix-2】使用 Hystrix 实现服务容错与降级:Java 案例代码详解