tao的开源代码_获取并编译TAO
如果您对TAO有一定了解,却不知如何驾驭它,那请跟我来从头学学TAO编译。
如果您对TAO还不是非常了解的话,请跟我来,一起对TAO有一个初步的认识。
TAO简介
TAO (The ACE Orb) 是Douglas C. Schmidt教授领导下DOC (Distributed Object Computing (DOC) Group)发布和维护的开源项目,它是基于ACE实现的、符合CORBA规范的对象请求代理。
ACE被设计成为跨平台的开发包及框架,因此TAO也继承了这一特征。TAO能应用于多种操作系统以及多种编译环境。
TAO已被广泛地应用于以下领域:指挥与控制、电信、数据通讯、医药工程、分布式交互仿真以及金融服务等。TAO在实时应用领域有着广泛地应用和举足轻重的地位。
TAO为开发人员带来的好处
开发人员利用TAO,可以只专注于业务领域本身的实现。TAO为开发人员提供了大量的“开箱即用(Out of Box)”的功能,复杂的与业务领域无关的问题TAO已经完成。
获得TAO
编译TAO的步骤 准备工作
下载源代码
设置环境变量
配置编译选项
生成工程文件 (*.sln, *.vcproj/ makefile)
编译生成
1. 准备工作
编译TAO需要perl,请下载安装perl语言运行环境。Windows用户可以使用active perl.
2. 下载源代码
当前版本是x.6.6
DOC提供了不同的版本以及每个版本的不同压缩方式。
这里我们选择 x.6.6版的zip文件的发布包,只含源代码的版本。下载链接如下:HTTP
下载后,我们获得了
我们把它解压至硬盘,我这里以E:/ACE_wrappers为例.
3. 设置环境变量 (以Windows XP为例)
本节内容以XP为例,Linux请在~/.bashrc中设置环境变量,并修改LD_LIBRARY_PATH的值。
编译TAO需要设置以下环境变量
新增
ACE_ROOT = E:/ACE_wrappers
TAO_ROOT = %ACE_ROOT%/TAO
修改PATH
PATH = %ACE_ROOT%/bin;%ACE_ROOT%/lib;..... 其他原来的保持不变
设置环境变量的方法如下:我的电脑=>属性=>高级=>环境变量=>系统变量=>新建
环境变量设置不当将直接影响以后的编译和开发。用以下方法检查是否正确
进入Dos Shell (开始==> 运行==> cmd)
> echo %ACE_ROOT%
如果提示为
E:/ACE_wrappers即设置正确,如下图
在Dos shell中输入
> PATH
确保 E:/ACE_wrappers/lib以及E:/ACE_wrappers/bin出现在在 PATH环境变量中。
环境变量设置后,我们先查看以下几个重要的文件
进入%ACE_ROOT%
我们可以看到
VERSION文件,
用UltraEdit或其它文本编辑器查看,可以确认下载的源代码的版本
This is ACE version 5.6.6, released Mon Sep 15 06:08:04 CDT 2008
ACE-INSTALL.html 文件
这个文档详细描述了如何安装ACE及TAO,它比本节更详细。
4. 配置编译选项
本节以XP, Visual Studio 2008为例
进入%ACE_ROOT%/ace目录,创建一个名为config.h的文件,文件内容如下
#include "ace/config-win32.h"
我的config.h内容如下
// -*- C++ -*-
#ifndef ACE_CONFIG_H
#define ACE_CONFIG_H
#define ACE_DISABLE_WIN32_ERROR_WINDOWS
#define ACE_DISABLE_WIN32_INCREASE_PRIORITY
#define ACE_HAS_MFC 1
#include "ace/config-win32.h"
#endif /* ACE_CONFIG_H */
5. 生成工程文件
由于我们只下载了ACE,TAO,CIAO的源代码,因此下载包在没有编译需要的工程文件。这里给大家初步介绍一个学习和应用ACE,TAO不可不掌握的工具MPC,我们可以用MPC生成适我们的工程文件。
MPC全称为Multi Project Creator,即多平台项目工程文件生成工具。这是ACE开发组织为了方便代码在多个平台下移植提供的工具。我们先不深入其中,直接用它即可。
进入%TAO_ROOT%
查看TAO_ACE.mwc
在Dos Shell中输入以下指令,即可生成 Visual Studio 2008(vc9)所需要的vcproj和sln文件
> mwc.pl -type vc9 ACE_TAO.mwc
如果以下指定未正常运行,请检查
1) 是否正确安装Active Perl
2) %ACE_ROOT%/bin 是否在 PATH环境变量中
这个过程一般要好几分钟,请耐心等待。
6分半钟后,我得到了TAO_ACE.sln文件
如下图
6. 编译生成
最后用Visual Studio 2008打开TAO_ACE.sln,即可编译ACE,TAO。
下图是我的编译结果
从%ACE_ROOT%/lib中可以看到
至此,ACE,TAO已生成完毕。
后续我们将一起学习和演练如何使用TAO编写应用程序。
有任何问题可以给我来邮件或在BBS上留言。
tao的开源代码_获取并编译TAO相关推荐
- DHCPV6 开源代码如何获取device的MAC
DHCPV6 开源代码如何获取MAC DHCPv6代码使用数据包套接字,收到的报文已经剥除MAC帧头,所以无法获得对端client 的MAC地址.这边给出几个办法获取 使用原始套接字, 协议栈的原始套 ...
- 波士顿动力开源代码_失去动力两年后,我如何开始开源之旅
波士顿动力开源代码 by Hemakshi Sachdev 通过Hemakshi Sachdev 失去动力两年后,我如何开始开源之旅 (How I started my open source jou ...
- 用户管理界面开源代码_商城系统开源代码对于企业有利还是有弊?
对于商家来说,商城系统或许了解得比较多,却极少听说过"源码",面对互联网的冲击,传统企业发展不景气,只能痛定思痛进行转型,大多数传统企业选择了开源代码搭建商城网站,那么有很多的人会 ...
- 图像识别开源代码_灰度图像着色开源代码
Victory组近期整理了灰度图像着色开源代码,文章刊登于<中国计算机学会计算机视觉专委会简报>2019年第2期上. 灰度图像(gray image)是每个像素只有一个采样颜色的图像,即单 ...
- android 登录界面开源代码_【程序源代码】一个安卓查询类app制作的开源项目
" 关键字:工作流 框架 springboot" 正文:一个学习安卓查询类app制作的开源项目.可以用来联系查询类app的编写. 01 - android studio最近势头好猛 ...
- 波士顿动力开源代码_学生为这所开源高中提供动力
波士顿动力开源代码 我怀疑您在高中的许多日子看起来都是这样的:一位成年老师站在一间方形教室的前面,讲课或画画,大量的事实,数字和日期流入排列整齐,排列整齐的网格中书桌. 在老师讲课时,学生对笔记无动于 ...
- python运行微软图标代码_获取windows程序图标并将其另存为.png Python
下面我有一些代码,获取一个.exe文件,从中获取图像,并将其保存为.bmp文件.这很好,但我需要保存.bmp与原来的透明背景.exe文件图标.有没有方法可以修改下面的代码来做到这一点?在 代码:def ...
- 太吾绘卷开源代码_请注意代码的来源:开源太多了?
太吾绘卷开源代码 这可能是一个难以理解的问题,但是您知道您的代码来自哪里吗? 在安全方面,这是比开发人员可能认为更重要的因素. 最近的安全漏洞(例如2017年的Equifax惨败)凸显了谨慎使用开源软 ...
- 罗马复兴开源代码_社区主导的开源复兴
罗马复兴开源代码 从定义上讲,早期的免费软件和开放源代码社区是由社区主导的,很少有商业参与者. 软件是由用户社区根据他们的需求和灵感而有机设计和创建的. 结果在一定程度上没有人预料到,通常是神奇的. ...
最新文章
- 巴塞罗那自治大学3D视觉课件
- Python--day60--一个简单(不完整)的web框架
- 全面认识Small Cell
- python 多文件知识
- 服务器芯片镜像测试,模拟镜像服务器磁盘问题的两个测试【转】
- Oracle 20c 新特性详解:SQL Macro 宏 SCALAR / TABLE 模式带来的敏捷和便利
- bes2300 tws配对_tws 耳机春天来了!
- python calendar.isleap_Python calendar isleap()用法及代碼示例
- HALCON 20.11:学习笔记---一维测量(Measuring)
- FCKeditor 2.6.4.1配置
- wpf之内容超出布局是用滚动条
- Linux ---yum源详解
- 计算机操作系统笔记(一)
- d3 svg path添加文本_svg演示kafka的broker和zookeeper动态交互
- Anaconda 更新pip版本
- 小米手机隐私相册在哪?将你的照片锁进“保险柜”
- prayaya v3-国产神操作系统
- 美国大学计算机理论专业phd,专家:美国大学计算机专业PHD申请难度有多大
- [2022 ICLR] Pyraformer: Low-Complexity Pyramidal Attention for Long-Range 时空序列建模和预测
- RepeatMasker的安装与使用(一)