Linux平台下二进制安装FastDDS
1. Linux平台下二进制安装
该页面主要介绍在linux环境下,使用二进制release安装 eProsima公司的 Fast DDSThe。
-
安装
-
内容
-
运行应用
-
在一个CMake项目中包含Fast-DDS
-
-
卸载
1.1. 安装
eProsima Fast DDS在Linux平台下最新的release可以从 Downloads tab站点下载到。下载完成后,将下载的压缩包解压到指定目录,然后在系统中使用有管理员权限的用户来执行 install.sh
脚本安装Fast DDS和所有的依赖库:
cd <extraction_directory> sudo ./install.sh
注意
默认情况下,eProsima的Fast DDS不会编译测试应用,如果想要编译它们,可以参考 Linux installation from sources页面。
1.1.1. 内容
src
目录包含下列软件包:
-
foonathan_memory_vendor
, 一个STL兼容的C++内存分配库。 -
fastcdr
, 一个依据 CDR 标准用于实现数据序列化的C++库(Section 10.2.1.2 OMG CDR)。 -
fastrtps
, eProsima Fast DDS库的核心库。 -
fastddsgen
, 一个根据IDL文件中的自定义数据类型产生源码的java应用。
如果这些组件中有不需要的组件,可以简单的将其重命名或者直接从src
中删除。
1.1.2. 运行应用
当运行一个使用了eProsima Fast DDS库的应用程序时,Fast DDS的依赖库(安装Fast DDS时被放置到 /usr/local/lib/
下)需要能够被链接到,因此 /usr/local/lib/
这个路径需要被添加到链接路径中,有两个做法:
-
运行应用实例之前输入下面的命令设置LD_LIBRARY_PATH环境变量:
export LD_LIBRARY_PATH=/usr/local/lib/
-
将
/usr/local/lib/
永久性的添加到PATH
环境变量中去:echo 'export LD_LIBRARY_PATH=/usr/local/lib/' >> ~/.bashrc
1.1.3. 在CMake项目中包含Fast-DDS
通过CMake的find_package API接口,安装者可以地将Fast-DDS包含到任何CMake项目中去。
通过设置CMake变量 FASTDDS_STATIC,可以选择在CMake生成阶段对Fast-DDS库的链接方式(动态/静态),没有设置的情况下默认为动态链接。
例如,为了在范例程序中静态链接 Fast-DDS ,可以按照下面的命令执行:
$ cmake -Bbuildexample -DFASTDDS_STATIC=ON . $ cmake --build buildexample --target install
1.2. 卸载
使用管理员权限执行 uninstall.sh脚本可以卸载已安装的Fast-DDS组件:
cd <extraction_directory> sudo ./uninstall.sh
警告:
如果系统中已经以其他方式安装了任何其他组件,它们也将被移除。要避免它,在执行脚本之前先编辑脚本。
Linux平台下二进制安装FastDDS
1. Linux平台下二进制安装
该页面主要介绍在linux环境下,使用二进制release安装 eProsima公司的 Fast DDSThe。
-
安装
-
内容
-
运行应用
-
在一个CMake项目中包含Fast-DDS
-
-
卸载
1.1. 安装
eProsima Fast DDS在Linux平台下最新的release可以从 Downloads tab站点下载到。下载完成后,将下载的压缩包解压到指定目录,然后在系统中使用有管理员权限的用户来执行 install.sh
脚本安装Fast DDS和所有的依赖库:
cd <extraction_directory> sudo ./install.sh
注意
默认情况下,eProsima的Fast DDS不会编译测试应用,如果想要编译它们,可以参考 Linux installation from sources页面。
1.1.1. 内容
src
目录包含下列软件包:
-
foonathan_memory_vendor
, 一个STL兼容的C++内存分配库。 -
fastcdr
, 一个依据 CDR 标准用于实现数据序列化的C++库(Section 10.2.1.2 OMG CDR)。 -
fastrtps
, eProsima Fast DDS库的核心库。 -
fastddsgen
, 一个根据IDL文件中的自定义数据类型产生源码的java应用。
如果这些组件中有不需要的组件,可以简单的将其重命名或者直接从src
中删除。
1.1.2. 运行应用
当运行一个使用了eProsima Fast DDS库的应用程序时,Fast DDS的依赖库(安装Fast DDS时被放置到 /usr/local/lib/
下)需要能够被链接到,因此 /usr/local/lib/
这个路径需要被添加到链接路径中,有两个做法:
-
运行应用实例之前输入下面的命令设置LD_LIBRARY_PATH环境变量:
export LD_LIBRARY_PATH=/usr/local/lib/
-
将
/usr/local/lib/
永久性的添加到PATH
环境变量中去:echo 'export LD_LIBRARY_PATH=/usr/local/lib/' >> ~/.bashrc
1.1.3. 在CMake项目中包含Fast-DDS
通过CMake的find_package API接口,安装者可以地将Fast-DDS包含到任何CMake项目中去。
通过设置CMake变量 FASTDDS_STATIC,可以选择在CMake生成阶段对Fast-DDS库的链接方式(动态/静态),没有设置的情况下默认为动态链接。
例如,为了在范例程序中静态链接 Fast-DDS ,可以按照下面的命令执行:
$ cmake -Bbuildexample -DFASTDDS_STATIC=ON . $ cmake --build buildexample --target install
1.2. 卸载
使用管理员权限执行 uninstall.sh脚本可以卸载已安装的Fast-DDS组件:
cd <extraction_directory> sudo ./uninstall.sh
警告:
如果系统中已经以其他方式安装了任何其他组件,它们也将被移除。要避免它,在执行脚本之前先编辑脚本。