【FastRTPS】ubuntu16.04/ubuntu20.04下1.9版本安装

说明:本过程同样适用于ubuntu20.04下FastDDS2.0.1安装。

1. 下载1.9源码:

$ git clone https://github.com/eProsima/Fast-RTPS.git --branch v1.9.0

2.安装asio和TinyXML

$ sudo apt install libasio-dev libtinyxml2-dev

3. 安装foonathan_memory:

$ git clone https://github.com/foonathan/memory.git
$ cd memory
$ git submodule update --init --recursive
$ mkdir build && cd build
$ cmake -DCMAKE_CXX_FLAGS=-fPIC -DFOONATHAN_MEMORY_BUILD_EXAMPLES=OFF -DFOONATHAN_MEMORY_BUILD_TESTS=OFF ..

#不指定目录安装
$ sudo cmake --build . --target install

#指定目录安装
$ sudo cmake --build . --target install DESTDIR=[安装目录]

DESTDIR为可选项,用于指定安装目录。

memory、FastCDR、FastRTPS安装要么都指定安装目录,要么都不指定(默认安装到/usr/local目录下)。

4.安装FastCDR

$ git clone https://github.com/eProsima/Fast-CDR.git
$ mkdir Fast-CDR/build && cd Fast-CDR/build
$ cmake ..

#不指定目录安装
$ sudo cmake --build . --target install

#指定目录安装
$ sudo cmake --build . --target install DESTDIR=[安装目录]

5.安装Fast-RTPS-1.9:

进入Fast-RTPS/build目录执行:

#不指定目录安装
$ cmake ..
$ cmake --build . --target install

#指定目录安装
$ cmake -DCMAKE_PREFIX_PATH=[memory安装目录]/usr/local ..
$ cmake -DCMAKE_PREFIX_PATH=[fastCDR安装目录]/usr/local ..
$ cmake --build . --target install DESTDIR=[FastRTPS安装目录]

cmake编译选项说明:

 

-DBUILD_JAVA                    --用于生成fastrtpsgen,需提前安装JAVA

-DCOMPILE_EXAMPLES     --用于编译examples目录下的例子程序

-DPERFORMANCE_TESTS  --用于编译test/performance下的性能测试程序

-DTHIRDPARTY                     --用于自动下载编译第三方依赖库,包括asio/tinyxml等,如果在ros下使用FastRTPS需要将此选项OFF掉,因为ros也依赖了tinyxml库,会导致库不一致的问题。

-DCMAKE_PREFIX_PATH    --搜索依赖库的路径

如果指定了安装目录,需要配置环境变量(不指定时会安装到/usr/local下):

export FASTRTPS_ROOT=[FastRTPS安装目录]/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

 

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值