| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发工具 -> fastdds交叉编译 -> 正文阅读 |
|
[开发工具]fastdds交叉编译 |
之前在虚拟机安装过fastdds,不过在真正用到项目中,一般都是使用交叉编译的。网上搜索相关的参考资料比较少,所以记录下这两天编译库踩过的坑; 首先先介绍下fastdds的核心库,建议不了解的先去git了解下基础资料;做应用开发的话主要涉及到fastrtps,fastcdr两个核心库的编译;其中fastrtps库的编译依赖fastcdr,TinyXML2,asio,Foonathan_memory四个库;下面依次介绍各个库的编译安装; 1、fastcdrfastcdr是做idl序列化和反序列化的核心库,他不依赖任何库 1)下载源码 ? ? ? ? github下载源码,建议下载最新tag分支 https://github.com/eProsima/Fast-CDRhttps://github.com/eProsima/Fast-CDR2)修改CmakeList,在project前增加如下内容
CmakeList中的BUILD_SHARED_LIBS 选项可配置是否生成动态库和静态库 3)使用如下命令进行编译和安装
经过以上步骤“安装路径”/lib下会生成fastcdr库,“安装路径”/include会生成头文件 2、TinyXML2安装1)下载源码 ? ? ? ? github下载源码,建议下载最新tag分支 https://github.com/leethomason/tinyxml2https://github.com/leethomason/tinyxml2 2)修改CmakeList,在project前增加如下内容?
?3)使用如下命令进行编译和安装
经过以上步骤“安装路径”/lib下会生成xml库,“安装路径”/include会生成头文件? ?3、asio安装Asio是一个跨平台的C++库,用于网络和底层I/O编程。 ?1)下载源码 ? ? ? ?官网下载源码,建议下载最新发布版 2)修改编译选项 与前面不同的是该项目可以通过configure 配置编译选项,在源码根目录使用如下命令进行配置
?3)编译安装 默认情况下,Asio 是一个只有头文件的库。所以这里直接 make;make install 将下载的头文件安装到指定路径即可 经过以上步骤“安装路径”/include会生成头文件 4、Foonathan_memory安装1)下载源码 ? ? ? ? github下载源码,建议下载最新tag分支 )修改CmakeList,在project前增加如下内容
3)使用如下命令进行编译和安装
经过以上步骤“安装路径”/lib下会生成Foonathan_memory库,“安装路径”/include会生成头文件 5、fastrtps编译安装编译rtps库需要以上四个库全部争取安装,编译前请先检查编译工具环境下(CMAKE_FIND_ROOT_PATH)下lib和include是否存在以上四个库对应的文件,确认环境无误后进行以下步骤; 1)下载源码 ? ? ? ? github下载源码,建议下载最新tag分支GitHub - eProsima/Fast-DDS: The most complete DDS - Proven: Plenty of success cases.https://github.com/eProsima/Fast-DDS.git )修改CmakeList,在project前增加如下内容
?CmakeList中的BUILD_SHARED_LIBS 选项可配置是否生成动态库和静态库 3)使用如下命令进行编译和安装
经过以上步骤“安装路径”/lib下会生成fastcdr库,“安装路径”/include会生成头文件 6、测试经过以上步骤安装路径lib会存在如下几个库,本次步骤默认编译的都是静态库所以都是.a文件 ?安装路径include会存在如下几个文件夹 ?其中fastdds和fastrtps均为fastrtps核心库的头文件 在宿主机参考fastdds的helloworld例程进行测试 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 10:07:48- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |