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 选项可配置是否生成动态库和静态库
网友评论