[vsomeip]第一课 vsomeip编译环境准备

一、环境与依赖安装

1. 系统要求

Ubuntu:20.04 / 22.04(推荐 22.04)

架构:x86_64

编译器:gcc/g++ ≥ 9(支持 C++11 及以上)

2. 安装依赖

Terminal运行

复制代码
sudo apt update
sudo apt install -y gcc g++ make cmake
# Boost(必须,1.55~1.74,Ubuntu22.04默认1.74)
sudo apt install -y libboost-system-dev libboost-thread-dev libboost-log-dev libboost-program-options-dev
# 文档/工具(可选)
sudo apt install -y doxygen graphviz

二、下载 vsomeip 源码

git clone https://github.com/COVESA/vsomeip.git cd vsomeip #

切稳定tag(推荐 3.3.8)

git checkout tags/3.3.8 -b 3.3.8

注意这个需要和Linux版本支持的boost有关,因为linux直接安装的boost版本和vsomeip tag版本相关。

我这里使用的的linux版本是Ubuntu 20.04,使用的是boost版本比较低。

三、编译与安装 vsomeip3

1. 创建 build 目录并编译

mkdir build && cd build # 关键编译选项:开启信号处理(Ctrl+C正常退出)

cmake -DENABLE_SIGNAL_HANDLING=1 -DCMAKE_BUILD_TYPE=Release ..

make -j$(nproc) # 多核编译,加速

sudo make install # 安装到 /usr/local

2. 验证安装

查看库文件

ls /usr/local/lib/libvsomeip3*

查看头文件

ls /usr/local/include/vsomeip

刷新动态库缓存

sudo ldconfig

输出类似:

/usr/local/lib/libvsomeip3.so

/usr/local/lib/libvsomeip3.so.3

/usr/local/lib/libvsomeip3.so.3.3.8

四、编译并运行 HelloWorld 示例

1. 编译示例

Terminal运行

复制代码
# 回到 vsomeip 根目录
cd ..
cd examples/hello_world
mkdir build && cd build
cmake ..
make

2. 单机运行(同一 PC,两个终端)

终端 1:启动 Service Terminal运行

复制代码
env \
VSOMEIP_CONFIGURATION=../helloworld-local.json \
VSOMEIP_APPLICATION_NAME=hello_world_service \
./hello_world_service

终端 2:启动 Client Terminal运行

复制代码
env \
VSOMEIP_CONFIGURATION=../helloworld-local.json \
VSOMEIP_APPLICATION_NAME=hello_world_client \
./hello_world_client

3. 结果正常输出

  • Service: plaintext

    复制代码
    Service [1234.5678] is available
    Received message: world
  • Client: plaintext

    复制代码
    Service [1234.5678] is available
    Sending message: hello
    Received message: helloworld