1. 下载1.9源码(git下载,自动安装第三方库):
git clone https://github.com/eProsima/Fast-RTPS.git --branch v1.9.0
2. 安装foonathan_memory:
进入Fast-RTPS/thirdparty目录:
$ git clone https://github.com/foonathan/memory.git
$ cd memory
$ git submodule update --init --recursive
$ mkdir build && cd build
$ cmake -DCMAKE_CXX_FLAGS=-fPIC ..
$ cmake --build . --target install
3.安装Fast-RTPS-1.9:
进入Fast-RTPS/build目录:
$cmake -DBUILD_JAVA=ON -DCOMPILE_EXAMPLES=ON -DPERFORMANCE_TESTS=ON -DTHIRDPARTY=ON -DCMAKE_PREFIX_PATH=[foonathan_memory所在目录]/build/install/ ..
$make
$make install DESTDIR=[安装目录]
说明:
-DBUILD_JAVA --用于生成fastrtpsgen,需提前安装JAVA
-DCOMPILE_EXAMPLES --用于编译examples目录下的例子程序
-DPERFORMANCE_TESTS --用于编译test/performance下的性能测试程序
-DTHIRDPARTY --用于自动下载编译第三方依赖库,包括asio/tinyxml等,如果在ros下使用FastRTPS需要将此选项OFF掉,因为ros也依赖了tinyxml库,会导致库不一致的问题。
-DCMAKE_PREFIX_PATH --搜索路径
DESTDIR --安装目录,不指定时会安装到/usr/local下,指定后,需要配置环境变量:
export FASTRTPS_ROOT=[你的目录]/Fast-RTPS-1.9/usr/local/
export PATH=$FASTRTPS_ROOT/bin:$PATH
export LD_LIBRARY_PATH=$FASTRTPS_ROOT/lib:$LD_LIBRARY_PATH
export LIBRARY_PATH=$FASTRTPS_ROOT/lib:$LIBRARY_PATH
export C_INCLUDE_PATH=$FASTRTPS_ROOT/include:$C_INCLUDE_PATH
export CPLUS_INCLUDE_PATH=$FASTRTPS_ROOT/include:$CPLUS_INCLUDE_PATH