CommonAPI新版本配置

1.直接在网上下载commonAPI 的运行时源代码,复制到目标目录下(例如/home/***/commonAPI),并解压,

https://github.com/GENIVI/capicxx-core-runtime: 3.1.12版本
https://github.com/GENIVI/capicxx-someip-runtime: 3.1.12版本
https://github.com/GENIVI/vsomeip/releases/tag/2.14.16:Source code(tar.gz)

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

cd capicxx-core-runtime-master

3.查看 ls,显示有以下文件夹或文件

AUTHORS 
cmake 
CMakeLists.txt 
commonapi.spec.in 
docx 
doxygen.in 
include 
INSTALL 	
LICENSE 
README 
src
mkdir build
cd build
cmake ..:编译源代码,或可以通过CMake变量CMAKE_INSTALL_PREFIX更改安装目录
		cmake -D CMAKE_INSTALL_PREFIX=/home/***/CommonAPI ..
make

5.在编译vsomeip之前,可能需要安装boost开源库
1)下载boost安装包:https://sourceforge.net/projects/boost/files/boost/1.65.0/
2)解压
3)

sh ./bootstrap.sh:执行配置脚本
./b2:编译
./b2 install --prefix=/home/***/CommonAPI/boost_:安装,该路径不能太深,太深了找不到,
				            或者可以设置深一点,不过需要在使用时指定目录
将最后体现的两个路径加到相应的地方(例子HelloWorld的CMakeLists.txt的目录和库路径)

6.安装vsomeip

mkdir  build
cd build
cmake  ..
		或者可以通过CMake变量CMAKE_INSTALL_PREFIX更改安装目录
		cmake -D CMAKE_INSTALL_PREFIX=/home/***/CommonAPI ..
		当找不到boost库时,需要指定boost的库的路径
		cmake -DBOOST_ROOT=/home/***/CommonAPI/boost_ ..
make:编译

7.安装someip_runtime

mkdir build
cd build
cmake ..
		或者可以通过CMake变量CMAKE_INSTALL_PREFIX更改安装目录
		如果想使用CommonAPI的卸载版本,请将CMake变量USE_INSTALLED_COMMONAPI设置为OFF
		cmake -D USE_INSTALLED_COMMONAPI=ON -D 	CMAKE_INSTALL_PREFIX=/home/***/CommonAPI  ..
	当找不到boost时,需要指定boost的库的路径
		cmake -DBOOST_ROOT=/home/***/CommonAPI/boost_ ..
make

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

https://github.com/GENIVI/capicxx-core-tools/releases:commonapi-generator.zip 3.1.12版本
https://github.com/GENIVI/capicxx-someip-tools/releases:commonapi_someip_generator.zip 3.1.12版本

9.创建目录

mkdir project:存放代码
mkdir (/project/)cgen:存放代码生成器

选择哪个代码生成器,可以用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文件
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格式的配置文件 :

touch vsomeio.json

在最终启动客户端和服务器之前,必须设置一个环境变量才能定义json文件的路径:
cd build
export VSOMEIP_CONFIGURATION_FILE=../fidl/vsomeip.json
//当找不到vsomeip库文件时:
export LD_LIBRARY_PATH=/home/***/CommonAPI/vsomeip/build

VSOMEIP_APPLICATION_NAME=service-sample ./HelloWorldService &
VSOMEIP_APPLICATION_NAME=client-sample ./HelloWorldClient

总体上,感觉整个配置过程与环境变量,也就是相关的库的路径设置有关,只要将其路径设为环境变量(或者可以将其有关的路径设置到文件中),让其在编译过程中能找到需要用的库的路径,编译就没有问题。

你可能感兴趣的:(工具)