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

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

相关文章:

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

本文安装环境为Liunx,搭建安装VSOMEIP环境并运行基础例子。 1. 安装基础环境 使用apt-get来安装基础环境,受网络影响可以分开多次安装。环境好的也可以一次性执行。 sudo apt-get install gcc g sudo apt-get install cmake sudo apt-get install lib…...

Git | git revert命令详解

关注:CodingTechWork 引言 Git 是一个强大的版本控制工具,广泛应用于现代软件开发中。它为开发人员提供了多种功能来管理代码、协作开发和版本控制。在 Git 中,有时我们需要撤销或回退某些提交,而git revert 是一个非常有用的命令…...

ASP.NET Core 中,Cookie 认证在集群环境下的应用

在 ASP.NET Core 中,Cookie 认证在集群环境下的应用通常会遇到一些挑战。主要的问题是 Cookie 存储在客户端的浏览器中,而认证信息(比如 Session 或身份令牌)通常是保存在 Cookie 中,多个应用实例需要共享这些 Cookie …...

Flyte工作流平台调研(五)——扩展集成

系列文章: Flyte工作流平台调研(一)——整体架构 Flyte工作流平台调研(二)——核心概念说明 Flyte工作流平台调研(三)——核心组件原理 Flyte工作流平台调研(四)——…...

【AUTOSAR 基础软件】软件组件的建立与使用(“代理”SWC)

基础软件往往需要建立一些“代理”SWC来完成一些驱动的抽象工作(Complex_Device_Driver_Sw或者Ecu_Abstraction_Sw等),或建立Application Sw Component来补齐基础软件需要提供的功能实现。当面对具体的项目时,基础软件开发人员还可…...

java通过ocr实现识别pdf中的文字

需求&#xff1a;识别pdf文件中的中文 根据github项目mymonstercat 改造,先将pdf文件转为png文件存于临时文件夹&#xff0c;然后通过RapidOcr转为文字,最后删除临时文件夹 1、引入依赖 <dependency><groupId>org.apache.pdfbox</groupId><artifactId&g…...

Git 命令代码管理详解

一、Git 初相识&#xff1a;版本控制的神器 在当今的软件开发领域&#xff0c;版本控制如同基石般重要&#xff0c;而 Git 无疑是其中最耀眼的明珠。它由 Linus Torvalds 在 2005 年创造&#xff0c;最初是为了更好地管理 Linux 内核源代码。随着时间的推移&#xff0c;Git 凭借…...

Docker的安装和使用

容器技术 容器与虚拟机的区别 虚拟机 (VM) VM包含完整的操作系统&#xff0c;并在虚拟化层之上运行多个操作系统实例。 VM需要更多的系统资源&#xff08;CPU、内存、存储&#xff09;来管理这些操作系统实例。 容器 (Container) 容器共享主机操作系统的内核&#xff0c;具…...

Flink系统知识讲解之:Flink内存管理详解

Flink系统知识讲解之&#xff1a;Flink内存管理详解 在现阶段&#xff0c;大部分开源的大数据计算引擎都是用Java或者是基于JVM的编程语言实现的&#xff0c;如Apache Hadoop、Apache Spark、Apache Drill、Apache Flink等。Java语言的好处是不用考虑底层&#xff0c;降低了程…...

使用JMeter模拟多IP发送请求!

你是否曾遇到过这样的场景&#xff1a;使用 JMeter 进行压力测试时&#xff0c;单一 IP 被服务器限流或者屏蔽&#xff1f;这时&#xff0c;如何让 JMeter 模拟多个 IP 发送请求&#xff0c;成功突破测试限制&#xff0c;成为测试工程师必须攻克的难题。今天&#xff0c;我们就…...

【Ubuntu与Linux操作系统:六、软件包管理】

第6章 软件包管理 6.1 Linux软件安装基础 Linux的软件包是以二进制或源码形式发布的程序集合&#xff0c;包含程序文件和元数据。软件包管理器是Linux系统的重要工具&#xff0c;用于安装、更新和卸载软件。 1. 常见的软件包管理器&#xff1a; DEB 系统&#xff08;如Ubunt…...

【数据结构-堆】力扣1834. 单线程 CPU

给你一个二维数组 tasks &#xff0c;用于表示 n​​​​​​ 项从 0 到 n - 1 编号的任务。其中 tasks[i] [enqueueTimei, processingTimei] 意味着第 i​​​​​​​​​​ 项任务将会于 enqueueTimei 时进入任务队列&#xff0c;需要 processingTimei 的时长完成执行。 现…...

【前端动效】原生js实现拖拽排课效果

目录 1. 效果展示 2. 效果分析 2.1 关键点 2.2 实现方法 3. 代码实现 3.1 html部分 3.2 css部分 3.3 js部分 3.4 完整代码 4. 总结 1. 效果展示 如图所示&#xff0c;页面左侧有一个包含不同课程&#xff08;如语文、数学等&#xff09;的列表&#xff0c;页面右侧…...

C#使用OpenTK绘制3D可拖动旋转图形三棱锥

接上篇,绘制着色矩形 C#使用OpenTK绘制一个着色矩形-CSDN博客 上一篇安装OpenTK.GLControl后,这里可以直接拖动控件GLControl 我们会发现GLControl继承于UserControl //// 摘要:// OpenGL-aware WinForms control. The WinForms designer will always call the default//…...

排序的本质、数据类型及算法选择

排序的本质、数据类型及算法选择 一、排序的本质二、排序的数据类型三、排序算法的选择依据 前两天老金写了篇 “十大排序简介”&#xff0c;有点意犹未尽&#xff0c;这一回老金想把排序连根拔起&#xff0c;从排序的本质说道说道。 一、排序的本质 从字面上理解&#xff0c…...

Python的列表基础知识点(超详细流程)

目录 一、环境搭建 二、列表 2.1 详情 2.2 列表定义 2.3 列表长度 2.4 列表索引 2.5 切片索引 2.6 添加 2.7 插入 2.8 剔除 2.8.1 pop方法 2.8.2 del方法 2.9 任何数据类型 2.10 拼接 2.10.1 “” 2.10.2 “*” 2.11 逆序 ​编辑 2.12 计算出现次数 2.13 排序…...

HarmonyOS鸿蒙开发 弹窗及加载中指示器HUD功能实现

HarmonyOS鸿蒙开发 弹窗及加载中指示器HUD功能实现 最近在学习鸿蒙开发过程中&#xff0c;阅读了官方文档&#xff0c;在之前做flutter时候&#xff0c;经常使用overlay&#xff0c;使用OverlayEntry加入到overlayState来做添加悬浮按钮、提示弹窗、加载中指示器、加载失败的t…...

【Ubuntu与Linux操作系统:一、Ubuntu安装与基本使用】

第1章 Ubuntu安装与基本使用 1.1 Linux与Ubuntu Linux是一种开源、类Unix操作系统内核&#xff0c;拥有高稳定性和强大的网络功能。由于其开源性和灵活性&#xff0c;Linux被广泛应用于服务器、嵌入式设备以及桌面环境中。 Ubuntu是基于Debian的一个流行Linux发行版&#xf…...

React 元素渲染

React 元素渲染 React 是一个用于构建用户界面的 JavaScript 库&#xff0c;它允许开发人员创建大型应用程序&#xff0c;这些应用程序可以随着时间的推移而高效地更新和渲染。React 的核心概念之一是元素渲染&#xff0c;它描述了如何将 JavaScript 对象转换为 DOM&#xff0…...

【2024年华为OD机试】 (C卷,100分)- 括号匹配(Java JS PythonC/C++)

一、问题描述 题目描述 给定一个字符串&#xff0c;里边可能包含“()”、“[]”、“{}”三种括号&#xff0c;请编写程序检查该字符串中的括号是否成对出现&#xff0c;且嵌套关系正确。 若括号成对出现且嵌套关系正确&#xff0c;或该字符串中无括号字符&#xff0c;输出&am…...

BetterNCM Installer:5分钟极速安装网易云音乐插件的终极指南

BetterNCM Installer&#xff1a;5分钟极速安装网易云音乐插件的终极指南 【免费下载链接】BetterNCM-Installer 一键安装 Better 系软件 项目地址: https://gitcode.com/gh_mirrors/be/BetterNCM-Installer 还在为网易云音乐插件安装的繁琐步骤而头疼吗&#xff1f;Bet…...

【毕业设计】微信小程序文创商城-从真实支付到模拟支付的实现与优化

1. 微信小程序文创商城支付功能概述 做毕业设计选择微信小程序文创商城是个不错的选题&#xff0c;尤其是支付功能的实现&#xff0c;既能锻炼技术能力&#xff0c;又很实用。我去年指导过几个类似的项目&#xff0c;发现学生们最头疼的就是支付模块。真实支付需要营业执照和公…...

Qt串口通信避坑指南:用QSerialPort封装类解决粘包拆包(附源码+实战演示)

Qt串口通信实战&#xff1a;从粘包拆包到高可靠数据帧处理的完整解决方案 在嵌入式开发和工业控制领域&#xff0c;串口通信作为最基础却又最关键的通信方式&#xff0c;其稳定性直接影响整个系统的可靠性。许多开发者在使用Qt的QSerialPort进行串口通信时&#xff0c;都曾遇到…...

实测Claude 4.5 Opus重构“屎山”代码:手把手教你用AI给遗留项目做外科手术(附前后对比与单元测试生成)

实测Claude 4.5 Opus重构“屎山”代码&#xff1a;手把手教你用AI给遗留项目做外科手术&#xff08;附前后对比与单元测试生成&#xff09; 接手一个满是"祖传代码"的老旧项目&#xff0c;就像被丢进一座迷宫——变量命名像密码&#xff0c;函数逻辑像意大利面&…...

5大突破让暗黑2单机体验翻倍:PlugY插件全方位应用指南

5大突破让暗黑2单机体验翻倍&#xff1a;PlugY插件全方位应用指南 【免费下载链接】PlugY PlugY, The Survival Kit - Plug-in for Diablo II Lord of Destruction 项目地址: https://gitcode.com/gh_mirrors/pl/PlugY 当你第10次因储物箱满被迫丢弃装备时&#xff0c;当…...

突破QQ音乐格式壁垒:QMCDecode全方位解密方案与跨场景应用指南

突破QQ音乐格式壁垒&#xff1a;QMCDecode全方位解密方案与跨场景应用指南 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac&#xff0c;qmc0,qmc3转mp3, mflac,mflac0等转flac)&#xff0c;仅支持macOS&#xff0c;可自动识别到QQ音乐下载目录&#xff…...

好写作AI|从研究空白到初稿呈现:AI在博士论文起步阶段的价值

家人们&#xff0c;谁懂啊&#xff1f; 博士第一年&#xff0c;导师问&#xff1a;“你的研究空白是什么&#xff1f;” 你胸有成竹&#xff1a;“A理论在B场景的应用研究不足&#xff01;” 导师&#xff1a;“那是文献缺口&#xff0c;不是研究空白。” 你懵了&#xff1a;“…...

Phi-4-mini-reasoning推理质量评估:GSM8K/MATH数据集本地测试方法

Phi-4-mini-reasoning推理质量评估&#xff1a;GSM8K/MATH数据集本地测试方法 1. 模型简介 Phi-4-mini-reasoning是一个轻量级开源模型&#xff0c;专注于高质量数学推理任务。作为Phi-4模型家族的一员&#xff0c;它通过合成数据训练和微调&#xff0c;特别擅长解决需要密集…...

Buzz:离线环境下音频转录与翻译的完整解决方案

Buzz&#xff1a;离线环境下音频转录与翻译的完整解决方案 【免费下载链接】buzz Buzz transcribes and translates audio offline on your personal computer. Powered by OpenAIs Whisper. 项目地址: https://gitcode.com/GitHub_Trending/buz/buzz 在当今信息驱动的工…...

用Python写AI版石头剪刀布:教你用机器学习预测对手出拳(TensorFlow实战)

用Python构建AI驱动的石头剪刀布游戏&#xff1a;从数据收集到模型部署全流程 石头剪刀布这个看似简单的游戏&#xff0c;实际上蕴含着丰富的决策模式和人类行为规律。作为一名长期研究游戏AI的开发者&#xff0c;我发现用机器学习预测玩家出拳模式远比随机选择有趣得多。本文将…...