Windows下使用VC编译OpenDDS的过程

来源:互联网 发布:激活windows 8.1专业版 编辑:程序博客网 时间:2024/04/20 21:46

  目前CSDN内对DDS(DataDistribution Service)的应用的介绍较少,仅仅每次发布新版本时有个简要介绍,本着和大家交流学习的目的,本人准备将自己学习OpenDDS的一些过程和大家分享一下,先写写纠结的编译过程吧!

1、从OpenDDS官方网站http://www.opendds.org/下载OpenDDS最新版,解压看一眼README,发现需要ACE、TAO、MPC和perl,那就开始下载吧!

2、google一下,发现ACE可以在http://download.dre.vanderbilt.edu/下载,找个最新版,至少要包含ACE+TAO这个版本,对组件开发感兴趣的话可以下载CIAO,这个MPC就不用下了,ACE+TAO的下载版本里就有。

3、至于perl,有开源版本,如果不嫌麻烦,可以自己编译自己配置环境变量。不过这个可以没有,google一下,发现perl的windows安装版在http://www.activestate.com/activeperl/downloads下载,省事了,呵呵!

4、 解压编译ACE+。。。,这个教程比较多,不过这里的教程最全http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/ACE/ACE-INSTALL.html#win32。

简单一点说就是,配置环境变量ACE_ROOT(ACE解压路径)、TAO_ROOT(%ACE%\TAO),在path里添加%ACE_ROOT%\lib;%ACE_ROOT%\bin; 压缩包里一般都有ACE.sln,要是没有的话可以自己生成一个,用的命令行是

mwc.pl–type vc8   或者

mwc.pl–type vc9   或者

mwc.pl–type vc10   或者

mwc.pl–type gnuace

也可以到TAO文件夹下,生成ACE_TAO.sln,编译

编译时间比较长,如果处理器好的话可以在visual studio里把最大运行生成数设的大一点,可以加快进度。

不喜欢在IDE下编译的,可以用命令行

msbuild ACE_TAO.sln /p:Configuration=Debug

msbuild ACE_TAO.sln /p:Configuration=Release

介绍ACE编译的比较多,完全可以参考!


5、ACE编译好了,终于可以编译OpenDDS了

还是先设环境变量DDS_ROOT,(OpenDDS解压路径)

在path里添加%DDS_ROOT%\lib;%DDS_ROOT%\bin;

打开DDS.sln(一般有好几个版本的,根据编译器选择合适的),编译

也可以用命令行

msbuild DDS.sln /p:Configuration=Debug

msbuild DDS.sln /p:Configuration=Release

编译的时间可能会比较长,其实主要是在编译各种例子时用的时间比较长,鉴于此,如果不需要编译例子的话,可以直接把%DDS_ROOT%\tests文件夹下的内容剪走,等有兴趣的时候自己编译

6、ACE与DDS的编译可能会出现各种问题,可能与编译器有关,visualstudio,则要安装相应的SP1补丁,vs2005大约440m,vs2008的大约800多m,vs2010的大约1.4G。

7、好了DDS的核心内容已经编译完了,咱们可以编译他的工具了%DDS_ROOT%\tools下几个比较有用的几个工程

第一个是:

%DDS_ROOT%\tools\modeling下的modeling.sln(这个比较重要,如果想使用Eclipse建模工具的话,这个必须编译),这个比较简单,直接编译即可。

 

第二个是:

%DDS_ROOT%\\tools\monitor下的工程要自己生成需要Qt

命令行到文件夹下,生成指令是

%ACE_ROOT%\bin\mwc.pl-type vc9 -features qt4=1

当然也可以是vc8、vc10、或者gnuace(cygwin下)

 

第三个是:

还有一个是excelRTD,用excel的宏监视DDS交互

cd%DDS_ROOT%\tools\excelRTD

%ACE_ROOT%\bin\mwc.pl-type vc9 -features qt4=1

 

上面两个也比较简单,有详细的userguide,下面的一个就有点复杂了。

 

最后一个是%DDS_ROOT%\tools\dissector,这个是OpenDDS在wireshark上的插件,编译通过后可以在wireshark上监视DDS数据流,进行抓包分析。

这个工程的编译过程比较复杂,首先要编译wireshark,wireshark的编译过程也算是较为复杂了,详细过程在CSDN上找,貌似

http://blog.csdn.net/woods2001/article/details/6324552介绍的比较完善,值得参考。

编译完wireshark,再编译dissector就没有问题了。

编译成功之后,把默认生成的OpenDDS_Dissector.dll考到% WIRESHARK_SRC%plugins/%版本号%/下面去,运行wireshark(win7下需要管理员模式),就可以使用该插件了。

8、OpenDDS还支持Java开发,感兴趣的可以编译,环境变量自不必说,JAVA_HOME和JDK_HOME设置好,注意除此之外还需要设置一个环境变量JAVA_PLATFORM(设为win32),这个应该会比较顺利。

9、下载Eclipse下的OpenDDS建模工具

Eclipse就不用说了,自己下载,建模工具的下载和使用过程

http://www.opendds.org/modeling.html#Plug-ins上的介绍比较清楚了,感兴趣的可以看看,也可以直接下载完整插件数据包,http://www.opendds.org/modeling/eclipse/opendds_modeling_site.zip,拷贝到插件文件夹下即可。

好了,OpenDDS的开发环境终于较为完整地配置好了,编译过程九曲十八弯,其中滋味只有喜欢折腾的人们自己清楚,有后来的同志们如果对DDS感兴趣又没钱买商用的,可以试试这个,祝好运!

第一次写博客,搞了几次,不会发图,回头整理整理,发到下载里面吧!

0 0
原创粉丝点击