DDS(DataDistribution Service数据分发服务)是对象管理组织OMG的有关分布式实时系统中数据发布的一个较新的规范(2004年12月发布1.0版,2007年1月发布1.2版)。全球已经有500多个项目和案例成功采用了RTI公司的DDS方案,网络中间的市场占有率高达80%左右。包括航空、航天、船舶、国防、金融、通信、汽车等领域。
OpenDDS虽然强大,但是安装使用起来却很让人头疼。这过程信息比较多,所以分成几个部分来分别介绍。
本人最近在安装OpenDDS时出现了很多问题,查找国内外的资料也是少之又少,于是附上安装过程,我会在文字表达上尽量简洁,会贴出各种安装失败的图片和信息,中间会说一些OpenDDS的工作原理,毕竟安装不可能一帆风顺,错误步骤导致的失败次数总是远远大于阶段性成功的次数,懂得原理,也是让我们在错误面前不那么惊慌失措。
废话不多说,开始教程:
材料:
1、Microsoft visual C++
2、Perl最近版本
3、ACE以及TAO源代码
4、OpenDDS源代码
材料准备过程(建议阅读介绍,做到心里有数):
1、VC++的安装:略
介绍:OpenDDS是使用C++实现出来的订阅,发布机制,为什么要用到VC++,应该是不难理解的
2、Perl的安装:https://www.perl.org/get.html
介绍:OpenDDS是一种跨平台的开源软件,所以考虑到不同用户的平台和开发环境的需要,使用了跨平台语言Perl作为脚本语言。
3、ACE+TAO的下载:http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-src-6.4.4.zip
官方详解安装教程 (英文优秀者首选) :http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/ACE/ACE-INSTALL.html#win32
这里注意:如果要下载已经编译好的Full版ACE+TAO,请前往:
http://download.dre.vanderbilt.edu/
详细介绍在第三部分:
http://blog.csdn.net/nini_boom/article/details/77932962
介绍:
TAO (The ACE Orb) 是Douglas C. Schmidt教授领导下DOC (Distributed Object Computing (DOC) Group)发布和维护的开源项目,它是基于ACE实现的、符合CORBA规范的对象请求代理。
ACE被设计成为跨平台的开发包及框架,因此TAO也继承了这一特征。TAO能应用于多种操作系统以及多种编译环境。
也正是OpenDDS要适用于所有的安装环境,所以不得不依靠TAO+ACE的环境进行编译,这样给我们带来了安装环境宽容性的同时也带来了很多配置和环境变量的问题,如果安装过程中出现了什么幺蛾子,大多跟这个TAO+ACE配置的环境有关,后续再说
4、OpenDDS的下载:
官网:http://opendds.org/
github:https://github.com/objectcomputing/OpenDDS
介绍:目前的版本是OpenDDS 3.12,源码来源不同,安装的方式也不同。
好,开始安装:
1、使用vs command prompt进入到OpenDDS目录
过程:点开win键->找到对应的vs程序->Visual Studio Tool ->VS开发人员命令选项,如图
运行可能会出现这样的错误:
两种原因:
第一种:很明显,运行环境没有继承VC++,需要正确打开vs command prompt运行才可以
第二种:这是因为OpenDDS和当前你的vs版本依赖不成功,需要修改configure.sh脚本,找到报错的407行,添加一行代码,将vc参数改成目前你安装的vs版本,如果你用的是vs2015,就将参数改为vc14,以此类推,如图:
再次运行configure.cmd脚步,如果出现如下情况,那么恭喜你,TAO+ACE你不用下载了,OpenDDS在自动下载,解压到OpenDDS根目录即可。
但是如果出现这样的界面:
那么很不幸,因为某些原因需要你自己动手用命令行告诉脚本,我应该去配置哪些东西,可以使用.\configure.cmd –help去寻求帮助,如果你愿意自己理解英文说明的话,不愿意也没关系,笔者恰好路过此坑,直接告诉你应该怎么去做,使用如下命令:
1、.\cofigure.cmd –ace=(ACE_Wrappers),小括号里的是ACE+TAO解压后的文件名
2、.\cofigure.cmd –tao=(ACE_Wrappers\TAO),小括号里的是TAO文件的路径
3、.\configure.cmd –mpc = (ACE_Wrappers\MPC),小括号里的是MPC文件的路径
如果只是第三个命令报错,那就不用管它,MPC环境总是容易出现蛋疼的问题,他是一个自动生成代码工具,只要后续的编译可以调用到它就没多大事。
简单回顾下历程:
1、材料准备
2、使用vs command prompt运行脚本
3、运行过程中会出现的各种错误以及解决方案
接下来是配置环境变量