当前位置: 首页 > 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…...

【Mojo+Python企业级混合编程实战指南】:20年架构师亲授3大高频场景落地方法论

第一章&#xff1a;Mojo与Python混合编程的企业级价值全景图Mojo 是一种专为 AI 原生系统设计的现代系统编程语言&#xff0c;兼具 Python 的表达力与 C/Rust 级别的性能。在企业级 AI 工程实践中&#xff0c;Mojo 并非旨在替代 Python&#xff0c;而是以“无缝互操作”为核心理…...

Claude Code助手对比:百川2-13B在代码生成与解释方面的能力展示

Claude Code助手对比&#xff1a;百川2-13B在代码生成与解释方面的能力展示 最近和几个做开发的朋友聊天&#xff0c;大家讨论最多的就是AI编程助手到底哪个更好用。Claude Code的名气确实很大&#xff0c;很多技术社区都在讨论它。不过&#xff0c;除了这些“明星”选手&…...

Guohua Diffusion 长短期记忆网络辅助:实现连贯性故事图像生成

Guohua Diffusion 长短期记忆网络辅助&#xff1a;实现连贯性故事图像生成 你有没有想过&#xff0c;让AI帮你画一个完整的故事&#xff1f;比如&#xff0c;一个关于探险家穿越神秘森林的漫画&#xff0c;或者一个产品从概念到成型的视觉故事板。现在很多图像生成模型单张图做…...

VBA UserForm控件交互实战:跨窗体数据传递与动态更新

1. UserForm基础与跨窗体数据传递原理 刚接触VBA UserForm时&#xff0c;我经常被各种控件的交互问题困扰。特别是当需要多个窗体协同工作时&#xff0c;数据传递就成了大难题。记得有次做订单管理系统&#xff0c;主窗体收集客户信息&#xff0c;子窗体处理产品明细&#xff0…...

一、RuoYi-Vue3项目模块化架构与二次开发实战

1. RuoYi-Vue3模块化架构深度解析 第一次接触RuoYi-Vue3时&#xff0c;最让我惊艳的就是它清晰的模块化设计。这个基于Spring BootVue3的前后端分离框架&#xff0c;通过六大核心模块的巧妙组合&#xff0c;既保证了功能完整性&#xff0c;又为二次开发留足了空间。就像搭积木一…...

2026 年电子邮件认证部署缺陷与安全风险治理研究

摘要 电子邮件作为网络攻击最主要入口&#xff0c;域名伪造与商业邮件欺诈&#xff08;BEC&#xff09;持续威胁机构安全。SPF、DKIM、DMARC 作为抵御邮件伪造的核心协议已提出十余年&#xff0c;但大量组织仍存在认知不足、配置错误、长期停留在监控模式等问题&#xff0c;导致…...

PhotoMaker性能基准测试终极指南:建立你的AI人像生成速度参考标准

PhotoMaker性能基准测试终极指南&#xff1a;建立你的AI人像生成速度参考标准 【免费下载链接】PhotoMaker 项目地址: https://ai.gitcode.com/hf_mirrors/TencentARC/PhotoMaker 想要了解PhotoMaker的实际性能表现吗&#xff1f;作为一款革命性的AI人像生成工具&#…...

Pixel Couplet Gen应用场景:微信小程序‘灵蛇贺岁’互动模块开发全解析

Pixel Couplet Gen应用场景&#xff1a;微信小程序灵蛇贺岁互动模块开发全解析 1. 项目背景与核心价值 在传统节日数字化呈现的浪潮下&#xff0c;我们开发了"灵蛇贺岁"微信小程序互动模块。这款基于ModelScope大模型的春联生成器&#xff0c;通过创新的像素游戏风…...

GTE-Base-ZH一键部署教程:3步在Ubuntu上搭建语义检索服务

GTE-Base-ZH一键部署教程&#xff1a;3步在Ubuntu上搭建语义检索服务 想给自己的应用加个智能搜索功能&#xff0c;但一看到复杂的模型部署就头疼&#xff1f;别担心&#xff0c;今天咱们就来聊聊怎么用最简单的方法&#xff0c;在Ubuntu系统上把GTE-Base-ZH这个强大的中文语义…...

程序员体检报告暗语:甲状腺结节=加班等级说明书

一、当体检报告出现“甲状腺结节”翻开软件测试工程师的体检报告&#xff0c;“甲状腺结节”已成为高频词。医学定义中&#xff0c;甲状腺结节是甲状腺细胞异常增生形成的肿块&#xff0c;随吞咽移动&#xff0c;临床检出率超20%&#xff08;数据来源&#xff1a;2023年《中国甲…...