车联网通信中间件 -- vsomeip协议栈的编译

      最后更新:2022-07-14 13:49:20 手机定位技术交流文章

      前言

      本文旨在记录SOME/IP协议的实现库--在Android平台编译的vsomeip协议堆栈。内容如下:

      • 环境配置
      • 编译依赖
      • 工程配置

      环境配置

      环境:

      这里简单说一下,在实际操作中,曾尝试使用cmake和 gradle工具的更高版本编译,但是产生的问题是使用高版本的gradle编译后libvsomeip3.so库无法生成,但是无编译报错。使用cmake的更高版本会导致报告错误。因为时间问题暂时推迟了,一个知道的兄弟可以说不。

      编译依赖

      vsomeip和一些dlt日志中的网络通信依赖于c++增强库,因此需要两个源部件

      • 下载vsomeip协议堆栈包

      https://github.com/GENIVI/vsomeip

      • 下载boost库,版本必须大于1.55,依赖其中的三个模块(system, thread and log)

      https://master.dl.sourceforge.net/project/boost/boost/1.71.0.beta1/boost_1_71_0_b1.tar.bz2?viasf=1 或者去 https://www.boost.org/users/download/ 下载指定版本

      • 下载 Boost 配置项目

      https://github.com/Orphis/boost-cmake

      工程配置

      新项目, 类型选择原先应用程序, 项目目录如下:
      在这里插入图片描述

      修改编译环境

      • 指定级数编译器版本:

      修改Gradle/wrapper/gradle-wrapper.properties,指定6.7.1的Gradle版本,此处如有同步失败,Need a gradle wrapper.jar同步瓶包的低版本的更新。

      • 指定cmake版本

      修改 local.properties

      • 指定模块.txt文件的CMakeLists

      修改在Android {} 目录下添加的 app module.gradle 的构建:

      添加模块编译

      外部是一个新文件夹,我们需要下载和复制在编译依赖模块中提到的三个项目 boost-cmake, boost, vsomeip到该目录。

      • boost-cmake主要用于构建 boost模块配置文件,默认是来自网络接口提升源,我们已手动下载它,所以我们不需要重复同步,只需修改 boost - cmake/CMakeLists.txt文件,修改内容如下:
      • cmake_module是存放查找库的配置文件信息的,新建FindBoost.cmake, Findvsomeip3.cmake两个文件,内容如下:

      FindBoost.cmake文件的内容

      Findvsomeip3.cmake

      • 根目录的CakeLists。 txt文件是整个C/C++库的编译配置文档,包含以下内容:

      配置完成编译的开始,编译完成后,您可以在项目目录中查看相关的库:
      在这里插入图片描述

      当然,您也可以使用ubuntu虚拟机编译vsomeip和提升,然后将这样库的标题文件复制到项目上,这个图书馆的引用方式可以指我以前写的那些文章,但这种方式太麻烦了,我仍然使用Android Studio来制作,让我们在这篇文章里看看vsomeip的通用API和使用情况。配置。

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/29606.html

          热门文章

          文章分类