栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

FastDDS学习笔记之Ubuntu22上安装fastDDS环境

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

FastDDS学习笔记之Ubuntu22上安装fastDDS环境

目录

第一章:FastDDS学习笔记之Ubuntu22上安装fastDDS环境
第二章:FastDDS学习笔记之HelloWorld示例程序编译和运行
第三章:FastDDS学习笔记之Fast-DDS-Gen安装记录

为什么选择FastDDS

eProsima Fast DDS是一个独立的 Cpp 中间件实现,提供OMG DDS 1.4和OMG RTPS 2.2可互操作的有线协议标准。

eProsima Fast DDS 速度惊人,在 Windows 和 Linux 中都击败了ZeroMQ和其他 DDS 中间件解决方案等替代方案。

该框架使用接口定义语言 (IDL) 从主题定义生成发布/订阅代码,允许开发人员专注于他的应用程序逻辑,而无需担心网络细节。

eProsima Fast DDS 是一款免费和开源软件(Apache License 2.0),具有多种功能和工具,以及商业支持选项。

Fast DDS Docker 映像现在 可供下载。

优点
  • 高性能: 即使在低带宽环境中也能实现低延迟、高吞吐量 。请参阅性能基准。

  • 轻松的多平台集成: Windows、Linux、Mac OS、QNX、VxWorks、iOS、Android、Raspbian/Debian Buster。

  • 免费和开源: Apache 许可证 2.0

  • 基于标准且可互操作的 DDS 合规性:符合 OMG DDS 1.4。

  • 完全符合 RTPS:符合 OMG RTPS 2.2

  • 提供个性化服务和商业支持

  • 有据可查且易于使用:请参阅我们的 可用文档

  • 非常适合: 机器人、物联网、汽车、关键应用。

安装FastDDS

要使用 Fast DDS 首先需要安装它,有 bin、Source、docker image 3 种方式.

但是 bin 和 docker image 需要到官网预留个人信息才能下载,所以这里可以考虑源码下载。

要下载 3 份源码:

  • vendor
  • fast cdr
  • fast dds

在 ubuntu 下用 cmake 方式编译。

开始安装

参考文档: 官网

安装需要下载以下代码源码:

  • foonathan_memory_vendor, STL兼容的C++内存分配库.
  • fastcdr,支持 standard CDR 序列化机制的C++序列化库
  • fastrtps, eProsima Fast DDS 库的核心库
安装编译工具

在unbuntu上安装首先需要相关的工具:

sudo apt install cmake g++ python3-pip wget git
安装FastDDS依赖的库

安装eProsima Fast DDS运行过程中依赖的库:

  • Asio and TinyXML2 libraries
Asio and TinyXML2 libraries

Asio 是一个用于网络和低级 I/O 编程的跨平台 C++ 库,它提供了一致的异步模型。

TinyXML2 是一个简单、小巧、高效的 C++ XML 解析器。

在 Ubuntu 上使用以下命令:

sudo apt install libasio-dev libtinyxml2-dev
编译安装Foonathan memory

Foonathan memory ,是一个经过优化的分配器

下载并编译代码:

mkdir Fast-DDS
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

Fast CDR,是一个 C++ 库,提供了两种序列化机制。

一种是标准的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 git@github.com:eProsima/Fast-DDS.git
mkdir Fast-DDS/build && cd Fast-DDS/build
cmake ..  -DCMAKE_INSTALL_PREFIX=~/dds/fast-dds/install -cmake ..  -DCMAKE_INSTALL_PREFIX=~/Fast-DDS/install
cmake --build . --target install

执行效果(部分截图):

编译安装Fast-DDS-Gen(有报错,未解决)

Fast-DDS-Gen用来把IDL生成代码,并不妨碍代码执行。

cd ~/Fast-DDS
git clone https://github.com/eProsima/Fast-DDS-Gen.git
cd Fast-DDS-Gen
./gradlew build

注意:这里需要先安装Java环境

执行后发生以下问题:

安装gradle后,问题还是存在,今天先到这里,这个问题以后再解决。

可能的问题

下载的过程可能有点慢

如果下载失败,可以手动下载代码: 代码传送门

安装的权限设置(参考内容)

要在系统上直接安装,请删除和的配置步骤中出现的所有标志,并将配置步骤中Fast-DDS的第一个标志更改为foonathan_memory_vendor以下内容:

-DCMAKE_INSTALL_PREFIX=/usr/local/ -DBUILD_SHARED_LIBS=ON

注意:在系统目录上安装可能需要权限。也许权限必须通过 sudo.

sudo cmake --build . --target install

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/881919.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号