分享

安装eProsima Fast DDS坑点

 开心果NeedCar 2023-06-21 发布于上海
在电脑端(eg:Linux系统)或者虚拟机中安装Fast DDS,虽然按照eProsima的提示,大部分操作都没问题,但是,实际操作,多少会遇到点坑。本文是《开源Fast-DDS安装示例及DDS模型架构》一文的补充。希望两篇文章,可以助力你成功安装Fast DDS,enjoy DDS学习。安装参考链接:https://fast-dds.docs./en/latest/installation/sources/sources_linux.html#cmake-installation
提示:本文使用Ubuntu20.04版本

1、本地方式安装

参考"3.1.4.1. Local installation"小节。
(一)创建本地文件夹
创建本地文件夹,本文文件夹命名Fast-DDS,命令如下:
mkdir Fast-DDS
(二)Foonathan memory
安装命令如下:
cd Fast-DDSgit clone https://github.com/eProsima/foonathan_memory_vendor.gitmkdir foonathan_memory_vendor/buildcd foonathan_memory_vendor/buildcmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/ -DBUILD_SHARED_LIBS=ONsudo cmake --build . --target install

CMAKE_INSTALL_PREFIX是cmake内置变量,用于指定cmake 执行install目标时,安装的路径前缀。本文直接安装到系统文件夹/usr/local/下,操作系统文件时,如果需要用户权限,使用sudo命令执行。

(三)Fast CDR
Fast CDR的安装命令如下所示:
cd Fast-DDSgit clone https://github.com/eProsima/Fast-CDR.gitmkdir Fast-CDR/buildcd Fast-CDR/buildcmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/sudo cmake --build . --target install
(四)eProsima Fast DDS
Fast DDS的安装命令如下:
cd Fast-DDSgit clone https://github.com/eProsima/Fast-DDS.gitmkdir Fast-DDS/buildcd Fast-DDS/buildcmake ..  -DCMAKE_INSTALL_PREFIX=/usr/local/ -DBUILD_SHARED_LIBS=ONsudo cmake --build . --target install
(五)链接已经安装的库
添加环境变量,命令如下:
export LD_LIBRARY_PATH=/usr/local/lib/echo 'export LD_LIBRARY_PATH=/usr/local/lib/' >> ~/.bashrc
在编译过程中,需要搜索和使用(2~4步骤)中的动态库(*.so),因此,需要添加环境变量,以便于后续的搜索。在.bashrc文件中添加环境变量操作如下所示:
.bashrc文件中添加环境变量或者库的搜索路径,可以对当前用户永久生效,因此,每次装软件、添加库,及时添加对应的环境变量。

每次添加环境变量或者库的搜索路径以后(即:修改.bashrc),使用source ~/.bashrc使设置立即生效

2、Java JDK & Gradle安装

(一)Java JDK、Gradle安装

1、Java JDK的安装,参考"3.3.1.1. Java JDK"小节,但是本文安装使用如下命令:
sudo apt install openjdk-11-jdk

安装JDK 11版本是为了与jar的版本匹配,否则使用./gradlew assemble命令时,会提示Java版本出错问题。

提示:使用./gradlew assemble安装,遇到JDK版本不匹配问题时,可以参考链接:https://blog.51cto.com/u_6650004/6114605

2、Gradle安装,参考"3.3.1.2. Gradle"小节。
(二)Fast-DDS-Gen安装
命令如下所示:
cd Fast-DDSgit clone --recursive https://github.com/eProsima/Fast-DDS-Gen.gitcd Fast-DDS-Gengradle assemble

安装Fast-DDS-Gen是为了通过*.idl文件生成源码文件

(三)通过*.idl生成源文件注意事项

成功执行./gradlew assemble安装以后,会生成share/fastddsgen文件夹,且在*/Fast-DDS-Gen/share/fastddsgen/java路径下生成fastddsgen.jar文件,如下所示:

通过*.idl文件生成源码时,注意fastddsgen批处理文件中的fastddsgen.jar文件路径修改,否则,通过*.idl生成源文件时,会提示没有fastddsgen.jar文件,本文修改如下所示:

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多