1 简介
关于简介部分可以参考这篇文章:vsomeip - GENIVI的SOME/IP开源实现
我只记录一下实操过程,另外说明我是从下载vmware pro,安装Ubuntu开始,应该说是比较纯净的环境下进行的,对新手比较友好。
2进入到Ubuntu环境
2.1首先安装官方所需的依赖(Dependencies)
- A C++11 enabled compiler like gcc >= 4.8 is needed.
- vsomeip usesCMake as buildsystem.
- 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进行远程联合调试等等…