准备步骤
1 代码拉取
网址
可以直接使用Ubuntu命令行:
git clone https://github.com/COVESA/vsomeip.git
*注: 可能会因为网速、网关等原因失败。
2 配置boost库
闭雷指南:
- vsomeip支持的boost库要求版本不低于1.55,不高于1.72(不同电脑似乎限制不太一样,会有提示)。
- Ubuntu安装时可能已经自带了boost库,可以使用命令(如下)进行查看。如果已经有了该库,则跳过2.1和2.2直接进入3
dpkg -S /usr/include/boost/version.hpp
*注: 通过该命令查不到不代表没有,也就是说如果不是通过sudo apt-get install
系列命令安装,而是手动下载安装的,该命令无法查到,可以改用sudo find /usr -name "libboost"
。
2.1 直接安装
sudo apt-get update
sudo apt-get install libboost-all-dev
注:可能会因为网速等原因失败,该步骤网上的教程很多,参考。
2.2 手动安装步骤
官网入口
下载后进行解压缩,(以1.80版本为例,解压缩后文件夹名为boost_1_80_0),之后依次运行如下命令:
cd boost_1_80_0
./bootstrap.sh
./b2 link=shared
sudo ./b2 install
3 编译安装vsomeip
直接按照官方Readme即可,依次执行:
mkdir build
cd build
cmake ..
make
sudo make install
4 运行hello_world
4.1 修改指定配置文件helloworld-local.json
helloworld-local.json中的unicast参数需要修改成自己主机的IP地址。
{
"unicast":"<IP地址>",
"logging":
{
"level":"debug",
"console":"true"
},
"applications":
[
{
"name":"hello_world_service",
"id":"0x4444"
},
{
"name":"hello_world_client",
"id":"0x5555"
}
],
"services":
[
{
"service":"0x1111",
"instance":"0x2222",
"unreliable":"30509"
}
],
"routing":"hello_world_service",
"service-discovery":
{
"enable":"false"
}
}
4.2 编译测试用例
cd <root directory of vSomeIP-Lib>/examples/hello_world$:
mkdir build
cd build
cmake ..
make
或如下图所示:
编译后生成可执行文件hello_world_service和hello_world_client。
4.3 运行
在终端1中输入如下代码:
VSOMEIP_CONFIGURATION=../helloworld-local.json \
VSOMEIP_APPLICATION_NAME=hello_world_service \
./hello_world_service
在终端2中输入:
VSOMEIP_CONFIGURATION=../helloworld-local.json \
VSOMEIP_APPLICATION_NAME=hello_world_client \
./hello_world_client
运行结果:
5 报错信息处理
错误信息:Configuration module could not be loaded!
解决方案:sudo ldconfig