当前位置: 首页 > news >正文

FastDDS 交叉编译

版本依赖

依赖版本仓库
memoryv0.7-3https://github.com/foonathan/memory.git
Fast-CDRv1.1.1https://github.com/eProsima/Fast-CDR.git
FastDDSv2.4.16https://github.com/eProsima/Fast-DDS.git

编辑toolchain.cmake

set(CMAKE_SYSTEM_NAME Linux) set(CMAKE_SYSTEM_PROCESSOR aarch64) set(CMAKE_C_COMPILER aarch64-linux-gnu-gcc) set(CMAKE_CXX_COMPILER aarch64-linux-gnu-g++) # 避免 try_run 执行失败 set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY) # 可选:指定 sysroot(如果你有目标 rootfs) # set(CMAKE_SYSROOT /opt/aarch64-sysroot) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(THREADS_PREFER_PTHREAD_FLAG ON) set(CMAKE_THREAD_LIBS_INIT "-lpthread") set(CMAKE_HAVE_THREADS_LIBRARY 1) set(CMAKE_USE_PTHREADS_INIT 1)

交叉编译

交叉编译memory

$ cmake..-DCMAKE_TOOLCHAIN_FILE=../../toolchain-aarch64.cmake-DCMAKE_INSTALL_PREFIX=../../install-DFOONATHAN_MEMORY_BUILD_EXAMPLES=OFF-DFOONATHAN_MEMORY_BUILD_TESTS=OFF $make-j4$makeinstall

交叉编译Fast-CDR

$ cmake..-DCMAKE_TOOLCHAIN_FILE=../../toolchain-aarch64.cmake-DCMAKE_INSTALL_PREFIX=../../install-DCMAKE_PREFIX_PATH=../../install-DBUILD_TESTING=OFF $make-j4$makeinstall

交叉编译Fast-DDS

$ cmake..-DCMAKE_TOOLCHAIN_FILE=../../toolchain-aarch64.cmake-DCMAKE_INSTALL_PREFIX=../../install-DCMAKE_PREFIX_PATH=../../install-DTHIRDPARTY=ON-DBUILD_SHARED_LIBS=ON-DBUILD_TESTING=OFF-DFASTDDS_STATISTICS=OFF-DCOMPILE_EXAMPLES=ON-DSHM_TRANSPORT_DEFAULT=ON-DSECURITY=OFF $make-j4$makeinstall

x86_64

编译memory

$ cmake..-DCMAKE_INSTALL_PREFIX=../../install-DFOONATHAN_MEMORY_BUILD_EXAMPLES=OFF-DFOONATHAN_MEMORY_BUILD_TESTS=OFF $make-j4$makeinstall

编译Fast-CDR

$ cmake..-DCMAKE_INSTALL_PREFIX=../../install-DCMAKE_PREFIX_PATH=../../install-DBUILD_TESTING=OFF $make-j4$makeinstall

编译Fast-DDS

$ cmake..-DCMAKE_INSTALL_PREFIX=../../install-DCMAKE_PREFIX_PATH=../../install-DTHIRDPARTY=ON-DBUILD_SHARED_LIBS=ON-DBUILD_TESTING=OFF-DFASTDDS_STATISTICS=OFF-DCOMPILE_EXAMPLES=ON-DSHM_TRANSPORT_DEFAULT=ON-DSECURITY=OFF $make-j4$makeinstall

测试

subscriber

$~/workspace/install/examples/cpp/dds/HelloWorldExample/bin$ ./DDSHelloWorldExample subscriber Starting Subscriber running. Please press enter to stop the Subscriber Subscriber matched. Message HelloWorld1RECEIVED Message HelloWorld2RECEIVED Message HelloWorld3RECEIVED Message HelloWorld4RECEIVED Message HelloWorld5RECEIVED Message HelloWorld6RECEIVED Message HelloWorld7RECEIVED Message HelloWorld8RECEIVED Message HelloWorld9RECEIVED Message HelloWorld10RECEIVED Subscriber unmatched.

publisher

$ ~/workspace/install/examples/cpp/dds/HelloWorldExample/bin$ ./DDSHelloWorldExample publisher Starting Publisher running10samples. Publisher matched. Message: HelloWorld with index:1SENT Message: HelloWorld with index:2SENT Message: HelloWorld with index:3SENT Message: HelloWorld with index:4SENT Message: HelloWorld with index:5SENT Message: HelloWorld with index:6SENT Message: HelloWorld with index:7SENT Message: HelloWorld with index:8SENT Message: HelloWorld with index:9SENT Message: HelloWorld with index:10SENT

HelloWorldExampleSharedMem

publisher 和 subscriber 的对象关系图

时序图

http://www.jsqmd.com/news/746906/

相关文章:

  • Windows系统批量卸载技术深度解析:BCUninstaller架构设计与实现原理
  • 基于Axon Hub构建高可用微服务消息枢纽:CQRS/EDA架构实践指南
  • 别再为Nginx配置发愁了:Certbot申请泛域名SSL证书后,一键部署到宝塔面板的完整流程
  • 【AI面试八股文 Vol.1.3 | 专题2:Chain-of-Thought(CoT)】CoT不是让模型“想一想”:Zero-shot / Few-shot 如何从论文机制讲到工程取舍
  • 从AlphaFold到DiffDock:用AI预测的蛋白结构做分子对接,效果到底怎么样?
  • AI辅助gstack开发:让快马智能生成GraphQL查询与React组件代码
  • 【数据驱动】基于神经网络温度控制的数据驱动控制附matlab代码
  • Python 3D物理仿真延迟高达400ms?TensorFlow/PyTorch张量运算迁移至CUDA Graph的3步零修改优化法(含JIT编译器绕过技巧)
  • AICoverGen:零门槛AI声线转换平台,重塑音乐创作与语音合成边界
  • 2026年4月石英纤维板供应商推荐,玻纤板/大阳角/冰火板/石英纤维板/A级抗倍特/树脂板,石英纤维板生产商找哪家 - 品牌推荐师
  • C++指针基础使用
  • 企业级应用如何通过多模型聚合避免单点故障
  • 从水稻田到云大屏:一个Java工程师用6周交付省级农业物联网平台的完整路径图(含GitHub私有仓库结构)
  • 半导体设备通信入门:从RS-232到TCP/IP,手把手拆解SECS/GEM协议栈
  • 在上海给孩子找少儿英语机构,怎么才能挑到真正专业靠谱的那家 - 品牌企业推荐师(官方)
  • 利用快马平台快速构建AI模型对比测试原型,加速技术选型
  • Betaflight Configurator终极指南:3分钟快速上手无人机配置工具
  • 如何在Windows电脑上直接安装安卓应用?APK-Installer极简指南
  • Legacy iOS Kit终极指南:旧款iOS设备降级、越狱与系统恢复完整解决方案
  • 低查重不是梦!AI写教材工具助力,2天完成30万字教材编写!
  • ai辅助开发:利用快马平台智能分析与优化yolov8网络结构图
  • 别再死记硬背Mask RCNN结构了!用PyTorch手撸一遍,从RPN到ROIAlign全搞懂
  • 别再死记硬背功能表!深入理解74HC161/390计数器:从芯片手册到级联设计的避坑指南
  • AI生成教材新选择:低查重AI写教材,高效又省心!
  • CATIA新手必看:解决零件变暗、命令不连续等12个高频‘卡点’的保姆级教程
  • 【数据分析】用于Bethe变分问题(BVP)和量子Bethe变分问题(QBVP)的Bregman ADMM的MATLAB实现
  • 想发EI会议论文?手把手教你从投稿到检索的完整流程(以ICAM 2024为例)
  • 如何在macOS上获得完美歌词体验?LyricsX让你听歌更有沉浸感
  • 常州做集成房屋的厂家 - 品牌企业推荐师(官方)
  • 多模态生物基础模型技术架构