Fast-DDS库的安装教程
- 0 序言
- 1 安装依赖
- 2 安装Fast-DDS
- 2.1 编译foonathan_memory_vendor
- 2.2 编译Fast-CDR
- 2.3 编译Fast-DDS
- 2.4 编译Fast-DDS-Gen
- 2.5 添加环境变量
- 2.6 验证
- 3 参考资料
- 4 写在最后
工欲善其事,必先利其器。首先要知道
Fast-DDS
是什么?要知道
Fast-DDS
是什么,又要先知道
DDS
是什么?听起来似乎像是无限套娃。由于篇幅原因,本文仅给出
Fast-DDS
的泛概念及用途,至于
DDS
,感兴趣的读者请自行查阅了解。
简单来说,Fast-DDS
是eProsima实现的一个开源的DDS库,目前主要用于机器人的ROS2以及一些工业领域设备间通信,由于本文是一篇Fast-DDS
库的安装教程,不再对其作过多赘述,感兴趣的读者请自行查阅了解。
0 序言
以下是我的环境配置:
Operating System:Debian 9(Stretch)
cmake version:3.24.3
1 安装依赖
sudo apt install cmake g++ python3-pip wget git
sudo apt install libasio-dev libtinyxml2-dev
sudo apt install libssl-dev
2 安装Fast-DDS
2.1 编译foonathan_memory_vendor
如图所示,通过执行命令pwd
,输出当前目录的全路径名称。
一般情况下,我们会在/home/用户名
这个目录下进行操作。
逐条执行下述命令:
git config --global url."https://gitclone.com/github.com/".insteadOf "https://github.com/"
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=/usr/local/ -DBUILD_SHARED_LIBS=ON
sudo cmake --build . --target install
2.2 编译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=/usr/local/
sudo cmake --build . --target install
2.3 编译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=/usr/local/
sudo cmake --build . --target install
2.4 编译Fast-DDS-Gen
cd ~/Fast-DDS
git clone --recursive https://github.com/eProsima/Fast-DDS-Gen.git
cd Fast-DDS-Gen
sudo apt install openjdk-8-jdk
./gradlew assemble
2.5 添加环境变量
不要直接复制,搞清楚你的scripts的路径是什么?
export PATH=/home/你的用户名/Fast-DDS/Fast-DDS-Gen/scripts:$PATH
如图所示,是我的scripts
所在的目录。
执行下述命令,查看环境变量:
vim ~/.bashrc
可以看到,环境变量已经成功添加。
此时,在命令行中输入fast
,然后按两下Tab
键,能够在可补全列表中显示出fastddsgen
,如下图所示,可以进一步证明,环境变量添加成功。
2.6 验证
测试Fast-DDS
的HelloWorldExample
:
cd ~/Fast-DDS/Fast-DDS/examples/C++/HelloWorldExample
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/
make
新建一个终端,执行下述命令:
cd ~/Fast-DDS/Fast-DDS/examples/C++/HelloWorldExample/build
./HelloWorldExample publisher
新建另一个终端,执行下述命令:
cd ~/Fast-DDS/Fast-DDS/examples/C++/HelloWorldExample/build
./HelloWorldExample subscriber
输出结果如下:
至此,Fast-DDS库编译安装完成。
3 参考资料
《安装Fast-DDS库 官方文档》
https://fast-dds.docs.eprosima.com/en/latest/installation/sources/sources_linux.html
《Ubuntu 18.04 安装fast-dds笔记》
https://blog.csdn.net/mkt123338702/article/details/125880446
《DDS开源库FastDDS分析 - 安装》
https://blog.csdn.net/w5678912345/article/details/125882684
《Fast RTPS(DDS) 安装指南》
https://blog.csdn.net/shao5166233/article/details/126599414
《Fast-RTPS调坑记录(linux源码安装)》
https://blog.csdn.net/tao_292/article/details/125317670
《【FastDDS学习笔记】HelloWorld示例程序编译和运行》
https://blog.csdn.net/u012739527/article/details/124705821
4 写在最后
由于本文写作仓促,难免有一些不当之处,请各位读者多多包涵,如有错误之处,还望各位批评指正,本人感激不尽。
————————————————————————————————
文章修改于2022年11月21日