Ubuntu 18.04 安装fast-dds笔记

因为项目需要,使用dds中间件,于是对其进行调研,以fast-dds为例,进行学习笔记

采用系统:Ubuntu18.04

本次采用源码编译需要使用的包:

1.foonathan_memory_vendor

2.fast-cdr

3.fast-dds

4.fast-dds-gen

分别通过git获得,其中需要会出现连接github 无法访问的问题,可以这样操作:

git config --global url."https://gitclone.com/github.com/".insteadOf "https://github.com/"

然后再git clone相应的包,进行本地cmake安装,可以参考官方网站:3.1.4

3. 从源代码安装 Linux — 快速 DDS 2.7.0 文档 (eprosima.com)

简单记录过程:

创建fast-dds目录:

mkdir ~/Fast-DDS

获取foonathan_memory_vendor:

cd ~/Fast-DDS
git clone https://github.com/eProsima/foonathan_memory_vendor.git
mkdir foonathan_memory_vendor/build
cd foonathan_memory_vendor/build
cmake .. -DCMAKE_INSTALL_PREFIX=~/Fast-DDS/install -DBUILD_SHARED_LIBS=ON
cmake --build . --target install

获取fast-cdr:

cd ~/Fast-DDS
git clone https://github.com/eProsima/Fast-CDR.git
mkdir Fast-CDR/build
cd Fast-CDR/build
cmake .. -DCMAKE_INSTALL_PREFIX=~/Fast-DDS/install
cmake --build . --target install

获取fast-dds:

cd ~/Fast-DDS
git clone https://github.com/eProsima/Fast-DDS.git
mkdir Fast-DDS/build
cd Fast-DDS/build
cmake ..  -DCMAKE_INSTALL_PREFIX=~/Fast-DDS/install
cmake --build . --target install

在编译过程中cmake的版本会过低,18.04更新的cmake为3.10左右,fast-dds需要3.16以上

可以进入cmake官网下载相应版本,我采用的是 cmake-3.16.6.tar.gz

解压后

cd cmake-3.16.6
./bootstrap
make
make install

如果本身的cmake版本很高,可以忽略这步。

如上,完成编译安装后需要添加环境:

gedit ~/.bashrc 

添加:export LD_LIBRARY_PATH=/home/mkt/Fast-DDS/install/lib

注意改成自己的路径

编译成功后开始测试fast-dds的helloworld

定位地址~/Fast-DDS/Fast-DDS-master/examples/cpp/dds/HelloWorldExample

cd ~/Fast-DDS/Fast-DDS/examples/cpp/dds/HelloWorldExample
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=~/Fast-DDS/install
make

获得如下内容:

Ubuntu 18.04 安装fast-dds笔记_第1张图片

运行两终端,分别执行发布和订阅

./DDSHelloWorldExample publisher
./DDSHelloWorldExample subscriber

Ubuntu 18.04 安装fast-dds笔记_第2张图片Ubuntu 18.04 安装fast-dds笔记_第3张图片

效果如上。

还可以使用IDL文件构建代码,需要安装fast-dds-gen

先安装依赖环境:

sudo apt install openjdk-8-jdk

参考官网执行如下操作:

cd ~~/Fast-DDS/
git clone --recursive https://github.com/eProsima/Fast-DDS-Gen.git
cd Fast-DDS-Gen
gradle assemble

 一般会报错,找不到gradle,采用如下方式

./gradlew assemble

使用gen自己匹配gradlew的版本

成功后添加环境:

gedit ~/.bashrc

添加:export PATH=/home/mkt/Fast-DDS/Fast-DDS-Gen/scripts:$PATH

完成这些就可以使用fastddsgen来通过idl文件生成代码。

fastddsgen Helloworld.idl

在新路径下拷贝helloworld.idl,执行上述命令,得到如下文件:

Ubuntu 18.04 安装fast-dds笔记_第4张图片

综上,fast-dds的基本编译及使用都完成

 

你可能感兴趣的:(git,ubuntu,中间件)