Fast-DDS开发入门 三

下面介绍如何根据idl文件生成工程

一、idl文件介绍

OMG IDL(Object Management Group Interface Definition Language)是一个由对象管理组织(Object Management Group, OMG)定义的,平台无关和语言无关的接口定义语言。它主要用于描述软件组件或对象提供的接口的语法和语义。

二、安装jdk

我用的版本是jdk17.0.12,下载链接如下:

https://download.oracle.com/java/17/archive/jdk-17.0.12_windows-x64_bin.msi

安装和配置环境变量的过程这里不赘述

三、使用fastddsgen生成C++代码

打开Developer Command Prompt for VS 2019,运行如下命令,生成完整例程:

fastddsgen -example CMake HelloWorld.idl

其中HelloWorld.idl内容如下:

struct HelloWorld

{

       unsigned long index;

       string message;

};

生成文件如下:

CMakeLists.txt

HelloWorld.cxx

HelloWorld.h

HelloWorldPublisher.cxx

HelloWorldPublisher.h

HelloWorldPubSubMain.cxx

HelloWorldPubSubTypes.cxx

HelloWorldPubSubTypes.h

HelloWorldSubscriber.cxx

HelloWorldSubscriber.h

也可以运行如下命令:

fastddsgen HelloWorld.idl

生成如下文件,其它文件自己手动添加:

HelloWorld.cxx

HelloWorld.h

HelloWorldPubSubTypes.cxx

HelloWorldPubSubTypes.h

四、修改CMakeLists.txt文件

cmake_minimum_required(VERSION 2.8.12)改为

cmake_minimum_required(VERSION 3.5)

否则会提示如下错误:

CMake Error at CMakeLists.txt:2 (cmake_minimum_required):

  Compatibility with CMake < 3.5 has been removed from CMake.

五、生成VS解决方案文件

参考Fast-DDS开发入门 一-优快云博客,这里不赘述

六、编译

生成解决方案

七、运行

打开两个命令提示符窗口,分别运行HelloWorld.exe publisher和HelloWorld.exe subscriber

结果如下图所示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值