VS2019中创建OpenDDS项目

1.新建VS项目

在这里插入图片描述
项目名称自己命名即可,此处注意release/debug,32/64要与OpenDDS编译版本一致
在这里插入图片描述

2.添加编译头文件目录和编译需要的动态库

1.添加头文件目录

打开项目属性性,添加项目包含目录
需要添加三个与OpenDDS相关的目录
1.%DDS_ROOT%所在目录
2.%ACE_ROOT%所在目录
3.%ACE_ROOT%/TAO所在目录

在这里插入图片描述

2. 添加动态链接库所需要的相关文件

打开项目属性面,添加链接器附加库目录
需要添加两个目录
1.%DDS_ROOT%/lib所在目录
2.%ACE_ROOT%/lib所在目录

在这里插入图片描述
添加相关动态链接库.lib文件,此处列举的是windows64/release版本OpenDDS可能用到的相关库,如果是其他版本请在lib目录下查找相关lib文件的名称并添加到该处。
OpenDDS_Dcps.lib;OpenDDS_FACE.lib;OpenDDS_Federator.lib;OpenDDS_InfoRepoDiscovery.lib;OpenDDS_InfoRepoLib.lib;OpenDDS_InfoRepoServ.lib;OpenDDS_Model.lib;OpenDDS_Multicast.lib;OpenDDS_RtpsRelay.lib;OpenDDS_Rtps_Udp.lib;OpenDDS_Rtps.lib;OpenDDS_Shmem.lib;OpenDDS_Tcp.lib;OpenDDS_Udp.lib;OpenDDS_monitor.lib;ACE.lib;TAO_AnyTypeCode.lib;TAO_Async_IORTable.lib;TAO_BiDirGIOP.lib;TAO_CSD_Framework.lib;TAO_CSD_ThreadPool.lib;TAO_CodecFactory.lib;TAO_Codeset.lib;TAO_DynamicInterface.lib;TAO_IDL_BE.lib;TAO_IDL_FE.lib;TAO_IORManip.lib;TAO_IORTable.lib;TAO_ImR_Client.lib;TAO_Messaging.lib;TAO_PI.lib;TAO_PortableServer.lib;TAO_Svc_Utils.lib;TAO_Valuetype.lib;TAO.lib;
在这里插入图片描述

3.添加C++编程文件

以%DDS_ROOT%\DevGuideExamples\DCPS\Messenger为例

1.编译IDL文件

1.	编写IDL相关文件,
2.	打开vs command prompt
	1.	调用opendds_idl.exe
		命令:opendds_idl.exe 文件名.idl
	2.	调用tao_idl.exe
		命令1: tao_idl.exe --idl-version 4 -I. -I%DDS_ROOT% 文件名.idl
		命令2: tao_idl.exe --idl-version 4 -I. -I%DDS_ROOT% 文件名TypeSupport.idl
最后idl目录下一共有14个文件

在这里插入图片描述
在这里插入图片描述

2.将idl文件所在目录添加到项目头文件包含目录中

3.编写OpenDDS数据发布者

1.将编译IDL文件生成的.cpp文件全部添加到项目中
2.将%DDS_ROOT%\DevGuideExamples\DCPS\Messenger目录下的Publisher.cpp添加到项目中
3.编译生成,可能会报错,需要在项目中添加宏
_CRT_NONSTDC_NO_DEPRECATE;_WINSOCK_DEPRECATED_NO_WARNINGS;
_CRT_SECURE_NO_WARNINGS;WIN32

4.编写OpenDDS数据订阅者

1.将编译IDL文件生成的.cpp文件全部添加到项目中
2.将DataReaderListenerImpl.h文件所在目录添加到头文件包含目录下
3.将%DDS_ROOT%\DevGuideExamples\DCPS\Messenger目录下的Subscriber.cpp和DataReaderListenerImpl.cpp添加到项目中
4.编译生成,可能会报错,需要在项目中添加宏
_CRT_NONSTDC_NO_DEPRECATE;_WINSOCK_DEPRECATED_NO_WARNINGS;
_CRT_SECURE_NO_WARNINGS;WIN32

4测试运行

1.打开cmd运行DCPSInfoRepo,根据需要配置相关选项;
	如果运行的cmd与发布者和订阅者所生成的exe在同目录下,cmd中只输入DCPSInfoRepo.exe回车运行也可以
2.运行数据订阅者
	在数据订阅者生成的exe目录下打开cmd运行该程序,配置相关选项,如果DCPSInfoRepo.exe运行生成的repo.ior在该目录下可不配置相关选项
3.运行数据发布者
	在数据发布者生成的exe目录下打开cmd运行该程序,配置相关选项,如果DCPSInfoRepo.exe运行生成的repo.ior在该目录下可不配置相关选项
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值