Linux系统下OpenDDS安装及测试2021-07-10

前言

大家好,用DDS进行开发的人不是很多,所以网上资源较少,杂七杂八的也很容易混淆。在此,我描述的方法在我的设备上是可行的,==虽然我的操作系统是中标麒麟,但是我承诺,在别的linux系统中一样可行。==下文中会说到运行环境,如果环境不同,也可以借鉴参考一下。

运行环境

  1. 中标麒麟系统
  2. OpenDDS 3.17
  3. Perl 5.12
  4. ACE+TAO (ACE 7.0.0 and TAO 3.0.0)
  5. GCC版本越高越好(虽然每个电脑都有gcc,但是你的gcc版本一定要支持C++11编译,不然make时会有问题)

友情提示

在安装OpenDDS时,由于命令较多,较长,新手一定不要敲错命令,一定不要,一定不要。在运行结果不同时,先检查是否与我命令不同,一个字母一个字母对照,如果相同,那么请借鉴本方法或寻找别的方法。

安装步骤

安装Perl

一般电脑上都已经安装好了,输入Perl -v查看是否已安装,如果出现版本号等信息,则可以省略安装步骤,如果项目对版本有要求,则请自行卸载,然后安装所需版本。

  1. 离线安装Perl方法,首先从https://www.activestate.com/activeperl/downloads 下载所需版本
  2. 解压/usr/local/src下的perl-5.12.2.tar.gz
// 解压缩
tar zxvf perl-5.12.2.tar.gz
  1. 建立文件目录,以供安装时使用
mkdir /usr/local/perl 
  1. 设置源码

进入perl-5.12.2.tar.gz的解压目录,执行:

./Configure -des -Dprefix=/usr/local/perl -Dusethreads -Uversiononly
  1. 编译
make  //这个过程会比较久。
make install
  1. 替换掉旧的perl命令
cd /usr/bin
mv perl perl.old      //把原来的perl更名为perl.old,弃用。
ln ls /usr/local/perl/bin/perl /usr/bin/perl  //做一个软链接,使用新的perl
  1. 完成
 # perl -v  //打印perl版本信息表明安装成功
下载ACE+TAO与OpenDDS

ACE+TAO下载地址:https://download.dre.vanderbilt.edu/
OpenDDS下载地址:http://download.ociweb.com/OpenDDS/

在这里插入图片描述
最好选择Full版本,因为Sources only版本仅包含源代码,需要使用MPC生成makefile比较麻烦。

解压及安装

//没有DDS目录文件夹,请自行新建
sudo tar -zxvf ACE+TAO-6.5.12.tar.gz -C /DDS
sudo tar -zxvf OpenDDS-3.15.tar.gz -C /DDS

解压完毕后,在/DDS目录下已存在ACE_wrappersOpenDDS 3.17两个文件夹,不管是否是root用户都请修改其权限

cd /DDS
sudo chmod 777 -R ACE_wrappers/
sudo chmod 777 -R OpenDDS 3.17/

在/etc/profile文件尾添加如下环境变量,必须重启,才能生效,当然在.bashrc里添加环境变量也可以,这里只介绍一种。

//路径大家可自行修改
# ACE+TAO+DDS Environment
export ACE_ROOT=/home/DDS/ACE_wrappers
export TAO_ROOT=$ACE_ROOT/TAO
export DDS_ROOT=/home/DDS/OpenDDS 3.17
export PATH=$ACE_ROOT/bin:$DDS_ROOT/bin:$PATH
export LD_LIBRARY_PATH=$ACE_ROOT/lib:$DDS_ROOT/lib:$LD_LIBRARY_PATH

新建$ACE_ROOT/ace/config.h,文件内容为

#include “ace/config-linux.h”

新建$ACE_ROOT/include/makeinclude/platform_macros.GNU,文件内容为

include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU

请按照编译顺序编译文件:ACE ,TAO , DDS,编译时间较长,大家可以摸会儿鱼。

//编译ACE
cd $ACE_ROOT
make clean
make
//编译TAO
cd $TAO_ROOT
make clean
make
//编译OpenDDS
cd $DDS_ROOT
./configure
make clean
make

编译完成后,终于该测试OpenDDS环境是否搭建成功了。
到$DDS_ROOT/examples/DCPS/Messenger_Imr目录执行脚本,打开命令窗口执行:

cd $DDS_ROOT/example/DCPS/Messenger_Imr
perl ./run_test.pl

运行结果显示test PASSED,测试成功。
自己运行的截图没了,偷一个别人的图放上,嘿嘿嘿。
在这里插入图片描述

话糙理不糙环节

在新手安装过程中,难免爆出这个错,那个错的,就算你叫过来大佬帮忙,大佬给你改半天错,最后的结果可能也不会太好,可以说这个安装步骤是很正确的,缺一不可,如果在安装过程中,出现一些自己看不懂的错误,那么,请果断的全部删除,重新来过,我相信结果应该不会太让你失望的。在安装中,涉及的文件名,并且往文件中编写程序。请大家一定不要输错,或者复制粘贴。

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值