vsomeip开源项目跑通过程


1 简介

关于简介部分可以参考这篇文章:vsomeip - GENIVI的SOME/IP开源实现
我只记录一下实操过程,另外说明我是从下载vmware pro,安装Ubuntu开始,应该说是比较纯净的环境下进行的,对新手比较友好。

2进入到Ubuntu环境

2.1首先安装官方所需的依赖(Dependencies)

  1. A C++11 enabled compiler like gcc >= 4.8 is needed.
  2. vsomeip usesCMake as buildsystem.
  3. vsomeip uses Boost >= 1.55:

2.1.1 安装Boost

1
sudo apt-get install libboost-all-dev

2.1.2安装cmake

1
sudo apt install cmake

2.2开源项目下载

打开终端下载someip开源项目 地址:https://github.com/GENIVI/vsomeip

1
git clone https://github.com/GENIVI/vsomeip.git

在这里插入图片描述

2.3编译整个项目

如果你用的图形化界面的话可以先进入到vsomeip文件夹下再打开终端输入以下命令(可以全部粘贴过去),或者使用cd命令进入到相应的路径下面执行以下命令。

1
2
3
4
mkdir build
cd build
cmake ..
make

编译成功如下所示:
在这里插入图片描述

2.4编译每个例程

进入到example目录下执行以下命令

1
2
3
cmake -DCMAKE_INSTALL_PREFIX:PATH=$YOUR_PATH ..
make
make install

执行make install 的时候如果出现报错,在前面记上sudo

2.5 分别执行对应的程序

2.5.1第一个程序是hello world

客户端发出world,服务端接受并返回hello world ,可以试着修改源码,将发送和返回的信息更改一下,亲测比较简单。

2.5.2request&response

第二个例程:
进入example路径下,打开终端输入 make
再分别打开客户端和服务端,这里要打开两个终端!

客户端如下:

1
env VSOMEIP_CONFIGURATION=../../config/vsomeip-local.json VSOMEIP_APPLICATION_NAME=client-sample ./request-sample

服务端如下:

1
env VSOMEIP_CONFIGURATION=../../config/vsomeip-local.json VSOMEIP_APPLICATION_NAME=service-sample ./response-sample

效果如下:
说明一下:hello world只处理一次便结束程序,这个例程会重复进行十连发,
在这里插入图片描述

notify&subscribe

同样开两个终端

1
env VSOMEIP_CONFIGURATION=../../config/vsomeip-local.json VSOMEIP_APPLICATION_NAME=client-sample ./subscribe-sample
1
env VSOMEIP_CONFIGURATION=../../config/vsomeip-local.json VSOMEIP_APPLICATION_NAME=service-sample ./notify-sample

在这里插入图片描述
时间原因写的不够详细 ,过两天继续来完善。
完善项目包括 如何修改代码为我所用,如何利用clion进行远程联合调试等等…