OpenDDS系列(2) —— OpenDDS 安装

  • 2. OpenDDS 安装
    • 2.0 OpenDDS安装依赖关系
      • 2.0.1 TAO
      • 2.0.2 GNU Make
      • 2.0.3 Perl
    • 2.1 OpenDDS 支持的操作系统
      • Linux
      • Windows
      • 其他
      • 嵌入式/移动端/物联网IoT:
    • 2.2 OpenDDS 支持的编译器
    • 2.3 Ubuntu上编译
      • 2.3.1 下载
      • 2.3.2 构建
      • 2.3.3 安装
      • 2.3.4 测试
    • 2.4 在Windows上构建OpenDDS
      • 2.4.1 下载
      • 2.4.2 Perl
      • 2.4.3 Qt
      • 2.4.4 Boost
      • 2.4.5 构建
      • 2.4.6 测试
    • 2.5 结论


2. OpenDDS 安装

上文中简要介绍了OpenDDS,它可以通过简单的方式在网络上交换数据。现在将讨论如何构建和安装它。

对于Windows(使用Visual Studio 2015)和Linux(Ubuntu 64位),我们将介绍版本OpenDDS 3.9源代码的安装。此处只介绍C ++部分。

2.0 OpenDDS安装依赖关系

2.0.1 TAO

OpenDDS 需要 TAO 来编译 IDL,以及与 DCPSInfoRepo 的交互。

如果使用 OpenDDS 的 “Configure” 脚本,则无需首先下载 Tao —— “configure”脚本将会自动下载。

2.0.2 GNU Make

GNU Make 用于在 Unix 和 Linux 系统上自动编译和链接 OpenDDS。

2.0.3 Perl

Perl 用于运行源代码中包含的自动化测试和示例,并生成 Makefiles 或 Visual Studio 项目文件。

在 Windows 上推荐使用 ActiveState Perl。 另外,配置脚本也需要使用 Perl。

2.1 OpenDDS 支持的操作系统

最新的 OpenDDS 3.12 已在以下平台上进行测试:

Linux

  • Red Hat EL 5 and 5.3, x86_64
  • Red Hat EL and CentOS 6.6 and 6.8, x86_64
  • Red Hat EL and CentOS 7.2 and 7.3, x86_64
  • Fedora Core 6, x86
  • Fedora 24 and 26, x86_64
  • Ubuntu 16.04 LTS, x86_64
  • openSUSE 42.1, and 42.2, x86_64

Windows

  • Windows 7 (32-bit, 64-bit)
  • Windows Server 2012 R2 (64-bit)
  • Windows 10 (64-bit)

其他

  • SunOS 5.10 (Solaris 10) (SPARC)
  • Mac OSX 10.11 (El Capitan)

嵌入式/移动端/物联网IoT:

  • LynxOS-178 (OpenDDS Safety Profile)
  • VxWorks 6.9 and 7 (see below)
  • Linux on Raspberry Pi and Intel Edison
  • Android NDK r12b (ARM)

2.2 OpenDDS 支持的编译器

最新版本的OpenDDS在以下版本的编译器上测试通过:

  • Microsoft Visual C++ 9 with SP1 (Visual Studio 2008)
  • Microsoft Visual C++ 10 with SP1 (Visual Studio 2010)
  • Microsoft Visual C++ 11 (Visual Studio 2012) - Update 4
  • Microsoft Visual C++ 12 (Visual Studio 2013) - Update 5
  • Microsoft Visual C++ 14 (Visual Studio 2015) - Update 3
  • Microsoft Visual C++ 14.1 (Visual Studio 2017) - Update 3
  • gcc 4.1.x
  • gcc 4.4.x
  • gcc 4.8.x
  • gcc 4.9.x
  • gcc 5.4
  • gcc 6.2
  • gcc 7.2
  • Clang 4.0 (llvm.org) and 7.3 (Apple)
  • Sun C++ 5.9 SunOS_sparc Patch 124863-01 2007/07/25

2.3 Ubuntu上编译

为了构建OpenDDS,必须在Ubuntu中安装一些软件包。用这个命令安装需要的软件包:

$ sudo apt-get install build-essential

还有其他应该下载的软件包以获取更多功能。

$ sudo apt-get install libxerces -c-dev qt4-dev-tools libboost-all-dev libglib2.0-dev

2.3.1 下载

您可以直接从OpenDDS站点下载OpenDDS 。打开终端并在要下载的文件夹中,输入以下命令:

$ wget https://github.com/objectcomputing/OpenDDS/releases/download/DDS-3.9/OpenDDS-3.9.tar.gz
$ tar xvvf OpenDDS-3.9.tar.gz

2.3.2 构建

解压缩之后,准备构建OpenDDS。输入文件夹并输入configure命令:

$ cd OpenDDS-3.9
$ ./configure --prefix=/usr/local

如果想要编译以下可选组件,运行如下命令:

$ ./configure --prefix=/usr/local --boost --glib --rapidjson --qt

该命令将下载缺失的依赖关系(ACETAO),它将为编译做一些准备。当OpenDDS构建完成时,键入以下命令:

$ make

2.3.3 安装

使用--prefix=/usr/local可以将其设为 OpenDDS 的安装目录, 然后再编译

$ sudo make install

2.3.4 测试

为了检查安装是否正常,我们可以检查 OpenDDS 是否按预期工作。它带有一系列可以从 perl 脚本运行的测试。为了运行测试,可以使用以下命令:

$ export DDS_ROOT=/path/to/OpenDDS
$ export ACE_ROOT=/path/to/OpenDDS/ACE_wrappers
$ export TAO_ROOT=/path/to/OpenDDS/ACE_wrappers
$ cd /path/to/OpenDDS/bin$ ./auto_run_tests.pl

运行测试 perl 脚本需要提前配置好环境变量。

2.4 在Windows上构建OpenDDS

2.4.1 下载

可以在http://opendds.org/downloads.html下载OpenDDS Windows版本。或者也可以通过 powershell 下载,命令如下:

> Invoke-WebRequest https://github.com/objectcomputing/OpenDDS/releases/download/DDS-3.9/OpenDDS-3.9.zip -OutFile OpenDDS-3.9.zip

2.4.2 Perl

在 Windows 下编译需要安装 Perl,在继续之前先下载安装它。https://www.activestate.com/activeperl

2.4.3 Qt

在这种情况下,也可以使用Qt作为可选组件。

最新支持的主要版本是 Qt4,所以如果你想使用它下载并安装它为你的编译器。由于我使用的是 Visual Studio 2015,并且未提供预编译包,因此我在此链接下载源代码,然后由我自己构建。https://download.qt.io/official_releases/qt/4.8/4.8.7/

如果您没有预编译的软件包,请自行构建。或者根本不使用 Qt,毕竟它们是可选的…

2.4.4 Boost

跟Qt一样,Boost也是一个可选的组件,但考虑到它的重要性,建议在OpenDDS中以及其他项目中使用它。有关如何构建它的更多详细信息和说明,请参阅Boost主页。

2.4.5 构建

使用Visual Studio进行构建。为了构建OpenDDS,需要提前配置好Visual Studio环境。

要做到这一点最简单的事情就是直接从Visual Studio命令打开一个shell。在Windows开始菜单中找到你的VisualStudio文件夹并打开你想要的命令提示符(即VS2015 x64 本地工具命令提示符)。

进入解压缩OpenDDS的文件夹,执行configure命令:

> configure

这将下载 ACETAO 并配置环境。

命令结束时,将会构建生成解决方案。

使用由配置创建的命令设置环境变量之后,可以直接从命令提示符启动Visual Studio:

> setenv.cmd
> devenv

此时,VisualStudio将开始运行并且生成解决方案 DDS_TAOv2_all

2.4.6 测试

编译结束时,一切都应该没问题。可以通过执行一些二进制文件来检查一切是否正常。打开控制台,设置以下命令:

> set DDS_ROOT=path\\to\\OpenDDS
> set ACE_ROOT=path\\to\\OpenDDS\\ACE_wrappers
> set TAO_ROOT=path\\to\\OpenDDS\\ACE_wrappers
> set PATH=path\\to\\OpenDDS\\lib;path\\to\\OpenDDS\\ACE_wrappers\\lib;%PATH%
> cd path\\to\\OpenDDS\\bin
> perl auto_run_tests.pl

执行完毕之后测试套件将开始工作。

2.5 结论

本文我们分别在Windows和Ubuntu系统中配置了OpenDDS环境。下一节中将介绍如何使用OpenDDS。


你可能感兴趣的:(OpenDDS,分布式,DDS)