当前位置: 首页 > 工具软件 > common > 使用案例 >

安装CommonAPI

廖琨
2023-12-01

在安装CommonAPI之前,要先确保已经安装了CMake,并确保 CMake版本 > 2.8.12.

1.在目标目录下执行下面命令,下载commonAPI 的源代码,然后通过编译生成为CommonAPI运行时库

git clone https://github.com/GENIVI/capicxx-core-runtime.git

或者可以直接在网上下载,复制到目标目录下(例如/home/commonAPI/),并解压

https://docs.projects.genivi.org/yamaica-update-site/CommonAPI/runtime/

(一定要挑选合适的版本,要不然runtime和代码生成器可能不契合,生成的代码所包含的头文件与runtime的代码库不匹配)

选择安装包:CommonAPI_3.1.5

2.进入解压后的文件夹下。

cd CommonAPI_3.1.5

3.查看 ls,显示有以下文件夹或文件(不是必要的一步)

AUTHORS 
cmake 
CMakeLists.txt 
commonapi.spec.in 
docx 
doxygen.in 
include 
INSTALL 	
LICENSE 
README 
src

4.通过编译生成为CommonAPI运行时库

mkdir build
cd build
cmake ..
make

5.在编译vsomeip之前,可能需要安装boost开源库
1)下载boost安装包
2)解压
3)

sh ./bootstrap.sh:执行配置脚本
./b2:编译
./b2 install --prefix=/home/***/CommonAPI

6.下载合适的vsomeip版本,解压并安装vsomeip库,或者选择合适的libdbus库

https://docs.projects.genivi.org/yamaica-update-site/CommonAPI/runtime/

选择安装包:vSomeIP_2.0.1

mkdir  build
cd build
cmake ..	
make

7.下载+解压+安装CommonAPI-someip的源代码,然后编译生成为CommonAPI-someip 运行时库。
或者选择CommonAPI-D-Bus的源代码,编译生成CommonAPI-D-Bus运行时库

https://docs.projects.genivi.org/yamaica-update-site/CommonAPI/runtime/

选择安装包:CommonAPI-SomeIP_3.1.5

mkdir build
cd build
cmake ..
make

8.下载代码生成器,并解压。

https://docs.projects.genivi.org/yamaica-update-site/CommonAPI/generator/3.1/3.1.5/

选择安装包:commonapi-generator + commonapi_someip_generator
9.创建目录

mkdir project:存放代码
mkdir (/project/)cgen/:存放代码生成器,将commonapi-generator + commonapi_someip_generator解压后的文件夹放入其中

选择哪个代码生成器,可以用uname -m查看服务器使用的什么处理器x86或者x86_64

//修改代码生成器可执行文件的权限
chmod +x  ./commonapi-generator/commonapi-generator-linux-x86_64
chmod +x  ./commonapi_someip_generator/commonapi-someip-generator-linux-x86_64

10.写生成文档并执行代码生成器产生代码

mkdir (/project/)fidl:存放*.fidl+*.fdepl文件
vim HelloWorld.fidl
vim HelloWorld.fdepl

//执行,如果正常,则生成的代码将位于新目录src-gen中,该选项-sk生成服务中接口实例的默认实现。

./cgen/commonapi-generator/commonapi-generator-linux-x86_64 -sk ./fidl/HelloWorld.fidl
./cgen/commonapi_someip_generator/commonapi-someip-generator-linux-x86_64 -ll verbose ./fidl/HelloWorld.fdepl

11.编写服务器+客户端代码

mkdir (/project/)src:存放服务器+客户端代码,开发人员自己写的应用程序
mkdir (/project/)build:便于执行cmake .. + make
vim CMakeLists.txt :编写编译的shell脚本

12.执行完cmake … + make之后
在/project/fidl目录下,创建新的json格式的配置文件 :

vim vsomeio.json

在最终启动客户端和服务器之前,必须设置一个环境变量才能定义json文件的路径:

cd build
export VSOMEIP_CONFIGURATION_FILE=../fidl/vsomeip.json
VSOMEIP_APPLICATION_NAME=service-sample ./HelloWorldService &
VSOMEIP_APPLICATION_NAME=client-sample ./HelloWorldClient
 类似资料: