1.下载

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

VS2010下载地址:https://pan.baidu.com/mbox/homepage?short=c1Z61lm

最新版本6.4.3是用vs2012以上版本编译,本文介绍的ACE_TAO的版本是6.2.6,它VS编译版本是10或11。另外,下载源码库最好不要带src后缀的,sources - only包只  包含源代码,您必须使用MPC生成自己的makefile。

不同的平台安装过程在 http://www.dre.vanderbilt.edu/~schmidt/ACE-install.html都有介绍,想了解的可以去看看。

2.解压

解压到指定目录,如D:\ACE_TAO_6.2.6\ACE_wrappers,文件路径最好不要带中文字符

3.坏境变量设置

添加系统变量

ACE_ROOT:D:\ACE_TAO_6.2.6\ACE_wrappers; TAO_ROOT:D:\ACE_TAO_6.2.6\ACE_wrappers\TAO;

4.编译ACE

1).在解压目录\ACE_wrappers\ace 下创建一个config.h文件,内容为: #include "ace/config-win32.h"

具体的宏定义添加意义在这里就不详细讲解,目前我用到这些

  #ifndef __ACE_CONFIG_H
  #define __ACE_CONFIG_H

  #define ACE_HAS_STANDARD_CPP_LIBRARY 1
  #define ACE_DISABLE_WIN32_ERROR_WINDOWS
  #define ACE_DISABLE_WIN32_INCREASE_PRIORITY
  #define ACE_NO_INLINE
  #define ACE_HAS_MFC 1
  #include "ace/config-win32.h"

  #endif /* __ACE_CONFIG_H */

2).用VS2010打开  D:\ACE_TAO_6.2.6\ACE_wrappers\TAO\ TAO_ACE_vc10.sln,设置ACE为启动项,右键属性:

a)VC++目录——包含目录  添加 $(ACE_ROOT)

b)VC++目录——库目录  添加 $(ACE_ROOT)\lib

3). 生成解决方案

4).编译成功后的文件在  ACE_wrappers\lib目录下(建议debug和release版都生成下)

5.VS项目中使用ACE

右键项目属性 ,配置

VC++ Directories-->Include Directories D:\ACE_TAO_6.2.6\ACE_wrappers

VC++ Directories-->Library Directories D:\ACE_TAO_6.2.6\ACE_wrappers\lib

C/C++-->General--> Additional include Directories D:\ACE_TAO_6.2.6\ACE_wrappers\TAO

Linker-->General -->Additional Libraray Directories D:\ACE_TAO_6.2.6\ACE_wrappers\lib

Linker-->General-->Additional Dependencies TAOd.lib ACEd.lib

以下是简单的代码测试以及结果:

  #include "stdafx.h"
  #include <iostream>
  #include <tao/corba.h>
  #include <tao/String_Alloc.h>
  using namespace std;
  #include "stdafx.h"

  int ACE_TMAIN (int argc, ACE_TCHAR *argv[])
  {
     char *p = CORBA::string_alloc(5);
      strcpy(p,"Hello");
      cout<<p<<endl;
      CORBA::string_free(p);
      CORBA::String_var s = CORBA::string_dup ("world");
      cout<<s.in()<<endl;
      cout<<p<<endl;
      getchar();
      return 0;
  }

参考:http://blog.csdn.net/kaci_csdn/article/details/52535589

window10(64bit)+VS2010编译ACE_TAO源码库的更多相关文章

  1. VS2010编译Unigine_2010源码

    VS2010编译Unigine_2010源码[Debug版本] 1.Laucher工程属性改为控制台项目 2.Unigine工程编译时的Warnning LNK2019 a.属性--常规-目标文件名改 ...

  2. vs2010编译live555源码

    最近加入了公司的C++视频小组,利用中秋这个假期将研究了一些live555的源码,现在先将如何编译使用vs2010编译live555,整理出来,对以后分析代码有很大帮助. 1.下载live555源码, ...

  3. 用vs2013编译lua源码方法(一)

    用vs2013编译lua源码方法 来源:网络    编辑:admin 1.下载lua源码:lua-5.2.3.tar.gz,解压 2.用vs2013建立一个win32工程: 1)下载后解压到一个目录下 ...

  4. Windows 10 x64 下编译 Hadoop 源码

    Windows 10 x64 下编译 Hadoop 源码 环境准备 Hadoop并没有提供官方的 Windows 10 下的安装包,所以需要自己手动来编译,官方文档中 BUILDING.txt 文件中 ...

  5. Windows,linux下编译qt源码(比较简单)

    一.linux下静态编译qt源码 1.取到qt源码并解压到文件夹 2.cd到qt目录下 3.使用configure生成makefile ./configure–prefix /opt/qtstatic ...

  6. Windows编译Nginx源码

    Windows下的Nginx战役,人不作就不会死!就像是拿着麦当劳的优惠券去买肯德基一样,别扭啊 Nginx是一款轻量级的Web 服务器.反向代理服务器.邮件服务器等等集一大串荣誉于一身的大牌人物!他 ...

  7. (转载)Linux如何编译安装源码包软件

    一.什么是源码包软件: 顾名思义,源码包就是源代码的可见的软件包,基于Linux和BSD系统的软件最常见:在国内源可见的软件几乎绝迹:大多开源软件都是国外出品:在国内较为出名的开源软件有fcitx;l ...

  8. 用VC编译lua源码,生成lua语言的解释器和编译器

    用VC编译lua源码,生成lua语言的解释器和编译器 1.去网址下载源码 http://www.lua.org/download.html 2.装一个VC++,我用的是VC6.0 3.接下来我们开始编 ...

  9. [原]在win上编译 subversion 源码实践Tonyfield的专栏

    (百度和网页的作者无关,不对其内容负责。百度快照谨为网络故障时之索引,不代表被搜索网站的即时页面。) [原]在win上编译 subversion 源码实践 2013-6-9阅读400 评论0 (参考 ...

随机推荐

  1. YII缓存依赖的应用

    YII缓存依赖的应用 缓存 缓存依赖 Yii 缓存是提升Web应用性能的简便有效的方式.当我们在加载网页需要过多的时间,比如说查询时间过久,抑或是调用接口占用过多I/O,建立缓存是一个行之有效的方法, ...

  2. python基础 --02

    常见的数据类型 列表 在python中,列表的创建可以是由[]两个方括号组成的.在其他语言中,被称之为数组. 列表里可以存放一组值,并且系统默认的给列表里的每一个元素以索引值,方便查找和使用. 如下: ...

  3. 使用Eclipse进行Javaweb项目开发时,如何设置外置浏览器Chrome

    使用Eclipse开发Javaweb项目时,在Eclipse中显示页面不是很好,那么如何让它自动打开外置浏览器呢?操作如下

  4. Python之正则表达式(re模块)

    本节内容 re模块介绍 使用re模块的步骤 re模块简单应用示例 关于匹配对象的说明 说说正则表达式字符串前的r前缀 re模块综合应用实例 正则表达式(Regluar Expressions)又称规则 ...

  5. Innobackupex全备恢复(原理、演示)

    一.  Innobackupex恢复原理    After creating a backup, the data is not ready to be restored. There might b ...

  6. Asp.Net Core-----简介与安装

    Asp.Net Core简介 ASP.NET Core 是一个全新的开源.跨平台框架,可以用它来构建基于网络连接的现代云应用程序,比如:Web 应用,IoT(Internet Of Things,物联 ...

  7. JavaScript中对事件简单的理解(2)

    事件(event) event对象 (1)什么是event对象? Event 对象代表事件的状态,比如事件在其中发生的元素.键盘按键的状态.鼠标的位置.鼠标按钮的状态.事件通常与函数结合使用,函数不会 ...

  8. 假如时光倒流,我会这样学习Java

    回头看看, 我进入Java 领域已经快15个年头了, 虽然学的也一般, 但是分享下我的心得,估计也能帮大家少走点弯路. [入门] 我在2001年之前是C/C++阵营, 有C和面向对象的基础, 后来转到 ...

  9. 关于java反射获取泛型

    public class Test<T> { private final TypeToken<T> typeToken = new TypeToken<T>(get ...

  10. 关于Iscroll.js 的滑动和Angular.js路由冲突问题

    Iscroll主要应用于app移动端开发. 主要代码: window.onload=function(){ var myIscroll=new IScroll(".headerNav&quo ...