FastDDS 测试

fastdds安装测试

依赖库安装

准备工作

如果支持apt,则预先:brew install cmake python3 wgetbrew install asio tinyxml2
否则,自行编译获得基本工具

fastcdr

C++ 库,提供了两种序列化机制。一种是标准的CDR序列化机制,另一种是修改标准的更快实现

wget https://ghproxy.com/https://github.com/eProsima/Fast-CDR/archive/refs/tags/v1.0.25.tar.gz
mkdir build
cmake .. -DCMAKE_INSTALL_PREFIX=$PWD/install
cmake --build . --target install

tinyxml2

git clone https://github.com/leethomason/tinyxml2.git
支持:armv7hd,armv8/aarch64,x86_64

  • x86 测试 locate tinyxml,x86安装完成
  • armv7 编译后赋值到交叉编译环境/usr/*

asio

boost.asio,使用standalone模式,仅仅使用asio,头文件即可
wget https://github.com/chriskohlhoff/asio/archive/refs/tags/asio-1-24-0.tar.gz
1、./autogen.sh
2、./configure --prefix=$PWD/install
3、make&&make install

#--host指定要交叉编译的平台,以arm-linux-gnueabihf为例
#--prefix指定安装目录
#--with-boost就是指明Boost库的头文件位置,下载不依赖boost的asio版本可以跳过这个选项
./configure --host=arm-Linux-gnueabihf --prefix=asio_myir --with-boost=/usr/local/include

默认情况下,Asio 是一个只有头文件的库。所以这里直接
make;make install
将下载的头文件安装到指定路径即可
经过以上步骤“安装路径”/include会生成头文件

Foonathan_memory

是一个经过优化的分配器
Tags · foonathan/memory (github.com)
先编译这个,获得:libfoonathan_memory-0.7.2.a libfoonathan_memory-0.7.2.so

源码路径

mkdir build

关闭所有主功能外的功能

cmake .. -DFOONATHAN_MEMORY_BUILD_EXAMPLES=OFF -DFOONATHAN_MEMORY_BUILD_TESTS=OFF -DFOONATHAN_MEMORY_BUILD_TOOLS=OFF -DCMAKE_INSTALL_PREFIX=安装路径
make
make install

verndor为测试,暂时不用

git clone https://github.com/eProsima/foonathan_memory_vendor.git
mkdir foonathan_memory_vendor/build && cd foonathan_memory_vendor/build
cmake .. -DCMAKE_INSTALL_PREFIX=./install -DBUILD_SHARED_LIBS=ON
cmake --build . --target install

wget https://github.com/eProsima/foonathan_memory_vendor/archive/refs/tags/v1.2.1.tar.gz



经过以上步骤“安装路径”/lib下会生成Foonathan_memory库,“安装路径”/include会生成头文件

fastrtps

编译rtps库需要以上四个库全部争取安装,编译前请先检查编译工具环境下(CMAKE_FIND_ROOT_PATH)下lib和include是否存在以上四个库对应的文件,确认环境无误后进行以下步骤;

  • git clone https://github.com/eProsima/Fast-DDS.git
  • 确认:CmakeList中的BUILD_SHARED_LIBS 选项可配置是否生成动态库和静态库

测试

参考

1、fastdds交叉编译

你可能感兴趣的:(FastDDS 测试)