Windows下的OpenDDS编译(超详细)

本篇博客主在系统详细地帮助大家熟悉OpenDDS环境搭建的步骤,希望能对大家的环境搭建有所帮助。

系统介绍了自己的OpenDDS环境编译过程,希望大家能参考我的教程,搭建成功!!

需要注意的是:部分结果输出不一样不用担心,只要不报错就行。(希望大家永不报错)

一、软件准备及安装

1、软件安装包

所需要的软件包括:Perl、VS2010、ACE+TAO+CIAO、OpenDDS

相应的软件安装压缩包链接地址如下:

链接:https://pan.baidu.com/s/1VzJK2MCi_CD9kqr_l_rK3g 提取码:open

2、软件安装简述

这四个软件,安装时都比较简单。建议把Perl、ACE+TAO+CIAO、OpenDDS-3.10都装在同一文件夹OpenDDS下,如下图

VS2010:不需要破解,安装教程参考Visual Studio2010安装教程 (qq.com)

Perl:不需要破解,直接解压安装到指定目录下就可以(无脑下一步安装,选择一下安装位置即可);

ACE+TAO+CIAO:直接解压到文件夹OpenDDS下,不用安装;

OpenDDS:直接解压到文件夹OpenDDS下,不用安装;

二、编译ACE_TAO

1、设置环境变量(编译准备工作)

设置环境变量在 计算机--属性--高级系统设置--环境变量--系统变量 中设置

Perl:不用配置,安装时会自动将环境变量配置在系统变量的Path中。检查即可

 ACE+TAO+CIAO:需要配置4个,依次如下:(注意填写你们自己的地址)

添加变量名 ACE_ROOT,值为解压路径:E:\Software\Work\OpenDDS\ACE_wrappers

 添加变量名 TAO_ROOT,值为解压路径:E:\Software\Work\OpenDDS\ACE_wrappers\TAO

添加变量名 CIAO_ROOT,值为解压路径:%TAO_ROOT%\CIAO

这个可加可不加,对后面用处不大

 在 Path 后添加%ACE_ROOT%\lib和%ACE_ROOT%\bin

注意:这里添加Path路径时,按照下图分开写。尽量不要图省事把几个路径写在一起,因为我当初这样写编译一致出现问题!!!

2、添加config.h文件

在E:\Software\Work\OpenDDS\ACE_wrappers\ace 下新建一个空的配置文件 config.h

文件内容为:#include "ace/config-win32.h"

3、使用VS2010编译(重点)

· 首先,编译TAO_ACE.sln(两种方式任选其一,推荐第二种方式)

方式一:使用编译器编译(编译分为三步:打开文件、重新扫描解决方案、生成解决方案)

打开文件(文件在E:\Software\Work\OpenDDS\ACE_wrappers\TAO\TAO_ACE_vc10.sln)

 重新扫描解决方案

 生成解决方案(时间较长,请耐心等待)

 编译成功界面

方式二:使用命令行编译

从VS进入命令行页面

cd到要编译的文件目录下,使用如下命令进行编译:

msbuild TAO_ACE_vc10.sln /p:Configuration=Debug

 等待编译结果。警告可以忽略。没有报错即编译成功了!

补充: 如果编译不成功,进行如下尝试。

首先检查环境变量是否出错;

也有可能不会一次编译成功,需要多次编译,一次编译成功一部分;

也有可能环境变量未生效,需要重启,检查环境变量后再编译。

· 其次,编译E:\Software\Work\OpenDDS\ACE_wrappers\ACE_vc10.sln

方式一:步骤同上(打开,重定解决方案,生成解决方案)

结果如下:

方式二:cd到指定目录,使用命令msbuild ACE_vc10.sln /p:Configuration=Debug

注意: cd .. 的意思是返回上级目录。这里返回上级即可进入到指定目录

结果如下:不报错即可 

· 最后,编译E:\Software\Work\OpenDDS\ACE_wrappers\TAO\tests\Hello\Hello_vc10.sln

方式一:步骤同上(打开,重定解决方案,生成解决方案)

结果如下:

方式二:cd到指定目录,使用命令msbuild Hello_vc10.sln /p:Configuration=Debug

结果如下:不报错即可 

4、验证编译是否成功

使用管理员方式打开VS2010命令行(图中红框--右键--更多--以管理员身份运行)

也可以直接在VS中打开命令行(参考方式二)

在命令行窗口cd到指定run_test.pl文件的位置

(如下图,执行run_test.pl得到如下结果即环境编译成功

三、OpenDDS的编译

1、配置环境变量-系统变量(参考 二、1 部分)

添加变量名 DDS_ROOT,值为解压路径:E:\Software\Work\OpenDDS\OpenDDS-3.10

 在 Path 后添加%DDS_ROOT%\lib和%DDS_ROOT%\bin

注意:这里添加Path路径时,按照下图分开写。尽量不要图省事把几个路径写在一起,因为我当初这样写编译一致出现问题!!!

2、编译

打开 VS2010 命令提示窗口(参考二、4),

在E:\Software\Work\OpenDDS\OpenDDS-3.10目录下运行 configure.cmd

运行可能会报错如下:(3.10版本报错如下,其他版本不一定)

 原因:这是因为 OpenDDS 和当前你的 vs 版本依赖不成功,需要修改 configure 脚本,找到 报错的407行,添加一行代码,将vc参数改成目前你安装的vs版本,如果你用的是vs2010, 就将参数改为 vc10,以此类推,如下图:

再次运行configure.cmd,正确结果如下。  

 

同时会在E:\Software\Work\OpenDDS\OpenDDS-3.10目录下生成DDS.sln文件。

同时发现根目录下还会出现一个 setenv.cmd 脚本,这是设置环境变量的脚本,

使用VS2010(参考二、4),直接运行setenv.cmd,成功运行后是这样的界面:

然后使用如下命令行,检查一下我们的环境变量是否正确设置:

echo %MPC_ROOT%

echo %ACE_ROOT%

echo %TAO_ROOT%

以上两步结果如下:

出现类似以上结果就表明环境变量配置成功了。

可以用 VS2010 打开 DDS.sln 工程文件进行编译了。(同样两种编译方式)

方式一:这里我编译没有完全成功,通过询问大佬,说这个影响不大,所以你们没有成功也不用担心,下面最后一步可以执行成功。

方式二:编译成功。 

3、检验DDS环境是否搭建成功

使用VS命令行(参考 二、4)在E:\Software\Work\OpenDDS\OpenDDS-3.10\examples\DCPS\Messenger_Imr目录下执行 run_test.pl 命令。

因为编译过程有些长,分两张图展示。

 恭喜大家,见到 test PASSED 就成功了!

本文写的足够详细了,对于没有经验的新手应该够用了,以后会陆续更新普通发布订阅和Java环境下的发布订阅实例。如有问题请咨询QQ:740874037

 友友们,点个赞再走吧!

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值