Windows环境下OpenDDS的安装

DDS(DataDistribution Service数据分发服务)是对象管理组织OMG的有关分布
式实时系统中数据发布的一个较新的规范(2004年12月发布1.0版,2007年1月发
布1.2版)。全球已经有500多个项目和案例成功采用了RTI公司的DDS方案,网络 中间的市场占有率高达80%左右。包括航空、航天、船舶、国防、金融、通信、汽车等领域。

所需工具

OpenDDS虽然强大,但是安装使用起来却很让人头疼。这过程信息比较多,所以分成几个部分来分别介绍。
  • Microsoft visual C++

    前面介绍了,OpenDDS是C++ 实现的订阅发布机制,要使用到VC++ 。、

  • Perl最近版本

    OpenDDS是一种跨平台的开源软件,所以考虑到不同用户的平台和开发环境的需要,使用了跨平台语言Perl作为脚本语言。
    Windows环境,使用ActivateState Perl

  • ACE以及TAO源代码

    OpenDDS依赖ACE抽象层来提供不同平台的兼容性,同时也依赖于TAO(例如TAO的IDL编译器)。
    下载最新版本的ACE+TAO.zip。网站下载有两种版本可供选择Full版和Sources Only版,Full指的是项目文件已经生成的版本(包括GNUMakefiles和VC项目文件),Sources Only版本仅仅包含源代码,需要自己使用MPC生成makefile。

  • OpenDDS源代码

    官网:http://opendds.org/
    Github: https://github.com/objectcomputing/OpenDDS

安装

  1. 安装visual studio(2013及以上)以及ActivateState Perl

    安装vs时需要安装的模块:vsinstall
    需要安装使用C++桌面开发模块以及通用Windows平台开发中的Windows 8.1 SDK,否则会出现找不到 Windows SDK 版本8.1。请安装所需的版本的 Windows SDK 或者在项目属性页中或通过右键单击解决方案并选择“重定解决方案目标”来更 改SDK 版本的错误。

  2. 解压ACE+TAO放到OpenDDS的根目录下,设置环境变量:
    ACE_ROOT=D:\OpenDDS\ACE_wrappers
    TAO_ROOT=D:\OpenDDS\ACE_wrappers\TAO
    PATH添加%ACE_ROOT%\lib%ACE_ROOT%\bin

  3. %ACE_ROOT%/ace下新建一个配置文件config.h,内容为#include "ace/config-win32.h"
  4. 编译ACE+TAO。分别打开%ACE_ROOT\%ACE.sln%TAO_ROOT\%TAO_ACE.sln,依次进行编译,根据自己的vs版本选择相应的项目文件

    项目文件名对应的vs版本
    ace_vc12.slnvs2013
    ace_vc14.slnvs2015
    ace_vs2017.slnvs2017

    或者使用vs提供的开发人员命令提示符工具进行编译。命令如下:
    I.msbuild ACE_vs2017.sln /p:Configuration=Debug > build_ace_debug.log

    结果如下:
    ACE

    II.msbuild TAO_ACE_vs2017.sln /p:Configuration=Debug > build_tao_debug.log

    结果如下:
    TAO-ACE

  5. 编译OpenDDS。解压OpenDDS放到OpenDDS的根目录下,设置环境变量:
    DDS_ROOT= D:\OpenDDS\OpenDDS-3.12
    PATH添加% DDS_ROOT %\lib% DDS_ROOT %\bin
    切换目录到D:\OpenDDS\OpenDDS-3.12使用vs的开发人员命令提示符运行configure.cmd,运行完成后会生成setenv.cmd脚本,运行setenv.cmd脚本也可设置好环境变量。

    结果如下:
    config.cmd运行结果

    如果运行configure.cmd时出现下面的错误:
    error
    需要我们手动在config文件中对应的位置添加$opts{'compiler_version'} = "vs2017";
    配置修改

    对生成的DDS.sln进行编译,文件名与编译器版本的对应关系与ACE相同,如果是正确运行config.cmd后生成的DDS.sln课直接编译,此时与vs的版本已经对应好。编译的命令:
    msbuild DDS.sln /p:Configuration=Debug > build_dds_debug.log

  6. 检查。编译完成之后,可以运行测试脚本观察是否OpenDDS环境是否搭建成功。切换到D:\OpenDDS\OpenDDS-3.12\examples\DCPS\Messenger_Imr目录,运行run_test.pl,运行结果最后出现test PASSED则编译成功。

    结果如下:
    success

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值