【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

在这里插入图片描述

根据引用\[1\]和引用\[2\]的内容,你可以使用以下命令在Ubuntu 18.04下安装cmake-3.25: 1. 打开终端。 2. 输入以下命令并按回车键: ``` sudo mv cmake-3.25 /opt/cmake-3.25 sudo ln -sf /opt/cmake-3.25/bin/* /usr/bin/ ``` 这将把cmake-3.25移动到/opt目录,并创建符号链接以使其可在/usr/bin目录中访问。 请注意,你需要将"cmake-3.25"替换为你实际下载和安装cmake的路径。 另外,根据引用\[3\]的内容,你可能需要安装CMake 3.11或更高版本才能编译fastdds。因此,安装cmake-3.25可能无法满足你的要求。你可以尝试安装更高版本的CMake,或者查看fastdds的要求并相应地更新CMake版本。 #### 引用[.reference_title] - *1* [2、ubuntu18.04安装cmake](https://blog.csdn.net/weixin_44698673/article/details/125964197)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Ubuntu18.04安装Cmake(最新最详细亲测)](https://blog.csdn.net/KIK9973/article/details/118796510)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [ubuntu18.04下cmake的安装](https://blog.csdn.net/zhangzl4321/article/details/128152099)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bynull

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值