FastRTPS简介
eProsima Fast RTPS是一个高效的发布订阅框架,使用基于发布者、订阅者和数据为主题的解耦模型,在分布式系统中共享数据。
2020.5,Fast RTPS更名为Fast DDS,所以Fast RTPS等同于Fast DDS。
安装环境及依赖简介
环境:
ubuntu18.04.5LTS(公司内网,只能连公司源,无法连网)
源码下载:eProsima官网下载代码压缩包eProsima: RTPS/DDS Experts
依赖下载:cmake camke要求3.10版本以上Download CMake ;
foonathan_memory: https://github.com/foonathan/memory
FastRTPS2.12.1安装步骤
1、下载FastRTPS
下载eProsima_Fast-DDS-v2.12.1-Linux.tgz并传到ubuntu,解压
2、安装依赖(公司源可以获取的依赖)
suo apt-get install openjdk-8-jdk
sudo apt-get install gradle
3、安装依赖foonathan_memory
下载网址: https://github.com/foonathan/memory
下载memory-main.zip,传到ubuntu中eProsima_Fast-DDS-v2.12.1-Linux/src中
cd memory_main
mkdir build
cd build
cmake -DCMAKE_CXX_FLAGS=-fPIC ..
make
sudo make install
ls -al /usr/local/lib/libfoonathan_memory* //可以看到安装好的库
其中执行cmake -DCMAKE_CXX_FLAGS=-fPIC ..有报错:uild step for doctest failed 2,我不需要test,所以将memory_main下CMakeList.txt中add_subdirectory(test)注释掉了。
4、安装fastcdr
直接进入eProsima_Fast-DDS-v2.12.1-Linux/src/fastcdr目录
按照mkdir build && cd build && cmake .. &make &&sudo make install一顿操作
ls -al /usr/local/lib/libfastcdr* //可以看到安装好的库
5、安装fastrtps
cd eProsima_Fast-DDS-v2.12.1-Linux/src/fastrtps
按照mkdir build && cd build && cmake .. &make &&sudo make install一顿操作
ls -al /usr/local/lib/libfastrtps* //可以看到安装好的库
6、fastddsgen工具
fast-DDs-v2.12.1 src/fastddsgen/share/fastddsgen/java目录有fastddsgen.jar ,fastddsgen.jar即fastddsgen工具(fastddsgen其实是调用的fastddsgen.jar),
java -jar fastddsgen.jar -help可以查看用法,如下调用可以将idl生成C++代码:
java -jar fastddsgen.jar -example Cmake /xx/xx/HelloWorld.idl /xx/xx/src
至此,安装成功,因为ubuntu在公司内网所以要手动执行以上步骤,如果ubuntu能联网,直接执行cd eProsima_Fast-DDS-v2.12.1-Linux/ && sudo ./install.sh一键安装即可。