Linux下编译OpenDDS

Linux下编译OpenDDS

OpenDDS同样支持Linux family,本文使用的Linux环境为Ubuntu 12.04LTS,make版本GNU Make
3.81,Perl版本v5.14.2。

1 OpenDDS编译前准备



下载ACE+TAO与OpenDDS。

ACE+TAO下载地址http://download.dre.vanderbilt.edu/

OpenDDS下载地址http://download.ociweb.com/OpenDDS/

注意下载时,不要选择.zip版本,.zip版本是为Windows准备的,部分文件的Windows格式会导致编译失败。


2 编译ACE+TAO与OpenDDS



a. 解压文件

cp ACE+TAO-6.2.6.tar.gz /home/workspace
cp OpenDDS-3.5.tar.gz /home/workspace
tar -xvzf ACE+TAO-6.2.6.tar.gz
tar -xvzf OpenDDS-3.5.tar.gz

b. 设置相关环境变量

在当前用户目录下修改.bashrc文件设置全局环境变量,在/home/joeywang/.bashrc文件尾添加:

export ACE_ROOT=/home/workspace/opendds/ACE_wrappers
export TAO_ROOT=$ACE_ROOT/TAO
export DDS_ROOT=/home/workspace/opendds/DDS
export PATH=$ACE_ROOT/bin:$DDS_ROOT/bin:$PATH
export LD_LIBRARY_PATH=$ACE_ROOT/lib:$DDS_ROOT/lib:$LD_LIBRARY_PATH

c. 设置config.h

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

#include “ace/config-linux.h”

d. 设置Platform_macros.GNU

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

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

f.编写编译脚本

编写脚本按次序编译ACE、TAO、OpenDDS,因为编译的时间比较长,输出的信息较多,可将std_out和std_err分别重定向到不同log文件以便编译完成后查看。脚本内容如下:

(cd $ACE_ROOT; make clean && make) 1> make_ace.log 2>make_ace_err.log
(cd $TAO_ROOT; make clean && make) 1> make_tao.log 2>make_tao_err.log
(cd $DDS_ROOT; make clean && make) 1> make_dds.log 2>make_dds_err.log
echo “---END---“

NOTE: 参考lyingbo的文章,只编译make
–C ace、make –C apps/gperf/src会是ACEXML库缺失,在随后的编译make –C
orbsvcs的过程中,无法生成tao_imr_relocator等组件。在进行完全编译(即使用根目录下makefile编译)后,能够顺利完整组件。


g. 运行测试脚本

编译完成之后,可以运行测试脚本观察是否OpenDDS环境是否搭建成功。切换到$DDS_ROOT/examples/DCPS/Messenger_Imr目录,运行run_test.pl

运行结果显示test PASSED,测试成功。


3 编译代码版本



ACE、TAO提供了源代码版本,源代码版本不包含项目文件,如果在编译Full版本发现问题时,可以使用源代码版本重新生成项目文件后再编译。当然也可以下载Full版本,使用find和rm命令删除所有makefile后重新生成。

编译过程如下:

1. 下载ACE+TAO源代码版本,解压。

2. 设置环境变量$ACE_ROOT和$TAO_ROOT

3. 创建config.h和platform_macros.GNU

4. 使用MPC工具编译

mwc.pl ACE.mwc –type gnuace
mwc.pl TAO_ACE.mwc –type gnuace

参考文章

http://blog.sina.com.cn/s/blog_6f83fdb40101i62i.html

http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/ACE/ACE-INSTALL.html#win32
http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/TAO/TAO-INSTALL.html

Linux下编译OpenDDS,布布扣,bubuko.com

时间: 2024-07-30 10:17:52

Linux下编译OpenDDS的相关文章

linux下编译php追加enable的方法

如果我们运行php时发现缺少某个库,在windows环境下很简单,找到.dll 对应的库文件,然后拷贝到 extension 目录下,然后在php.ini 里 去掉 前面的分号或者 追加一行 extension = XXXX.dll 即可. linux环境下,可不是像windows环境下那么的简单. 下面我们已 sysvmsg 这个库文件的安装为例 来详细说明php的编译方法 收件进入php的原始文件 比如我是下载在这个路径下: [[email protected] php-5.2.17]# c

linux下编译qt5.6.0静态库——configure配置

 随笔 - 116  文章 - 4  评论 - 7 linux下编译qt5.6.0静态库--configure配置 linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberry选项: Android 选项: 生成makefile 遇到链接检查失败的情况 生成makefile后进行编译 编译时的错误 多重定义'QT_MODBUS()'和'QT_MODBU

linux下编译安装php各种报错大集合

PHP开源脚本语言 PHP(外文名: Hypertext Preprocessor,中文名:"超文本预处理器")是一种通用开源脚本语言.语法吸收了C语言.Java和Perl的特点,入门门槛较低,易于学习,使用广泛,主要适用于Web开发领域.PHP的文件后缀名为php. 本文为大家整理汇总了一些linux下编译安装php各种报错大集合 ,感兴趣的同学参考下. 报错1:make 后报错如下: Generating phar.php /home/oldboy/tools/php-5.3.27

Linux下编译ffmpeg

Linux下编译ffmpeg太简单了. 1.下载yasm 1-1. 下载地址:http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz 1-2. 解压缩: tar zxvf yasm-1.3.0.tar.gz 1-3. cd yasm-1.3.0进入 1-4. 命令行执行./configure 检测环境并生成Makefile文件 1-5. 执行make编译,sudo make install安装 2. 下载ffmpeg 2-1

Linux下编译安装qemu和libvirt

目录 [hide] 1 安装qemu 1.1 qemu介绍 1.2 下载源文件 1.3 编译安装 2 安装libvirt 2.1 libvirt介绍 2.2 下载libvirt 2.3 编译安装 3 参考资料 KVM虚拟机(英语:Kernel-based Virtual Machine),是一种用于Linux内核中的虚拟化基础设施.KVM目前支援Intel VT及AMD-V的原生虚拟技术.KVM在2007年2月被导入Linux 2.6.20核心中.它也被引入FreeBSD.在Mac OS X中,

[转载]linux下编译php中configure参数具体含义

编译N次了   原来这么回事 原文地址:linux下编译php中configure参数具体含义作者:捷心特 php编译参数的含义 ./configure –prefix=/usr/local/php                      php 安装目录 –with-apxs2=/usr/local/apache/bin/apxs –with-config-file-path=/usr/local/php/etc      指定php.ini位置 –with-mysql=/usr/local

在linux下编译openjdk7

最近刚开始看<深入理解JAVA虚拟机>这本书.第一章的实践是自己手动编译openjdk7,但书上的步骤都是基于windows的,于是在网上搜了一下linux下编译openjdk的资料: http://blog.csdn.net/kindazrael/article/details/7266314 http://guoh.org/lifelog/2011/05/compile-openjdk-by-yourself/ 这辆篇文章都说的比较详细.其实,最好的文档是openjdk源码包中的READM

【转】Linux下编译ffmpeg

1.下载ffmpeg.下载网址:http://www.ffmpeg.org/download.html 2.解压缩tar -zxvf ffmpeg-2.0.1.tar.gz 3.配置,生成Makefile./configure --enable-shared --disable-yasm --prefix=/usr/local/ffmpeg如果执行结果不对,可以根据提示信息,并查看帮助,解决问题./configure --help 4.编译安装makemake install 5.安装之后在/u

linux下编译安装boost库

转载:http://www.cnblogs.com/oloroso/p/4632848.html linux下编译安装boost库 linux下编译安装boost库 1.下载并解压boost 1.58 源代码 下载 解压 2.运行bootstrap.sh 3.使用b2进行构建 构建成功的提示 4.安装boost库到指定目录 5.测试一下 代码 编译运行 先看一下系统环境 Linux o-pc 3.19.0-22-generic #22-Ubuntu SMP Tue Jun 16 17:15:15