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在该目录下可不配置相关选项