转载于:http://www.cnblogs.com/TianFang/archive/2006/12/03/580714.html

ACE的安装是一件比较麻烦的事情,这里简单的记录了我在VS2005下安装ACE的过程,希望能给大家一个参考。

  1. 安装环境:
    1. 操作系统:Windows XP 专业版
    2. 编译环境:VS2005中文版
    3. ACE版本:ACE-5.5.1
  2. 安装过程:
    1. 下载安装包。
      1. Ace的安装文件可以在http://download.dre.vanderbilt.edu/中下载到,由于我是在windows环境下安装并且不需要TAO等其它库,便下载了ACE-5.5.1.zip。
      2. 下载完成后将其解压。我的解压路径为D:\Develop\ACE_wrappers。
    2. 设置环境变量
      1. 在操作系统添加一个名为ACE_ROOT的用户环境变量,值为刚才ace的解压路径D:\Develop\ACE_wrappers。
      2. 添加用户的Path环境变量,值为%ACE_ROOT%\lib,这样才能保证系统能找到ace生成的动态连接库。
      3. 设置VS2005的C++开发项目信息,依次打开菜单 工具-选项-项目和解决方案-VC++目录 ,在右侧目录列表中选择"包含目录",添加$(ACE_ROOT),在右侧目录列表中选择"库文件",添加$(ACE_ROOT)\lib。
    3. 编译ACE
      1. 在ACE_ROOT\ace目录创建一个名为 config.h的文件。编辑文件并加入以下内容
        #define ACE_HAS_STANDARD_CPP_LIBRARY 1
        #include "ace/config-win32.h"
        其中第一行是因为我想用标准C++跨平台,第二行则是必须要的,表明当前是在win32的环境下进行ace的项目。
      2. 进入ACE_ROOT\ace目录中,能发现ACE现在已经带VS2005的编译项目了,直接打开ace_vc8.sln,直接生成ACE项目的Debug版和Release版,编译过程还比较快,大概就几分钟的样子。编译链接完成后,在ACE_ROOT\lib中一共生成了四个文件,分别是"ACE.dll","ACE.lib", "ACEd.dll","ACEd.lib",其中带"d"表示的是Debug版本。
    4. 检验 ACE
      1. 打开VS2005,建立一个空项目,将ACE程序员手册中的第一个程序拷入其中。
      2. 配置属性->链接器->常规->附加依赖项,添入ACEd.lib。
      3. 编译,如果不出意外的话就能看到你的ace版的" hello world"啦。

注意:
ACE项目的字符集设置是"未设置",而VS2005的c++项目默认字符集是"使用 Unicode 字符集",如果用到了ACE链接库时需要将字符集改为"未设置"(在"项目属性->配置属性->项目默认值->字符集"中配置),否则可能出现链接错误。

至此,ACE的安装工作便算完成,希望这篇文章对大家安装ACE有点帮助。

支持unicode的ACE编译。

编译前在config.h中多添加如下两行,并且将项目默认字符集改为"使用 Unicode 字符集"。

#define ACE_USE_WCHAR
#define ACE_HAS_WCHAR

注意:

在windows平台下,如果没有定义如上两个宏, ACE会自动将 main 函数重定义, 并主动替你把 ACE::init() 和 ACE::fini() 调用好。添加这两个宏后,需要在main函数中手动调用。

main 函数重定义这一行为不能保证在所有平台和环境下都正常运作(如使用MFC时),其实不管如何,不妨在 main 函数的开头和结尾分别再调用一次 ACE::init() 和 ACE::fini()。 ACE::init() 和 ACE::fini() 里面都有嵌套层次计数机制,因此只要它们能够保证成对出现, 并且不出现交叉嵌套, 多调用一遍并不会出现任何问题。

ACE的安装的更多相关文章

  1. ACE的安装方法

    ACE的安装方法 下载ACE --1  ACE的主页以及下载链接 http://www.cs.wustl.edu/~schmidt/ACE.html 安装ACE --1  将ACE-5.5.tar.g ...

  2. 【阿里云产品公测】云引擎ACE -discuz安装

    作者:阿里云用户云想未来 谢谢支持.为什么写的比较简单就是为方便新手谁想要很麻烦?亲测按这个教程可以安装成功!时间紧迫不发图片了纯原创 排版您请谅解 进入创建新应用的信息填写界面,此处需要填写一个赠送 ...

  3. 【阿里云产品公测】ACE安装Discuz超详细图文教程

    作者:阿里云用户51干警网 hello.今天我们来在阿里云ACE上安装discuz. 因为本人不喜欢X3.2的版本,这次我使用的是DZX2.5. 首先的是准备工作: 一.申请阿里云ACE内测 http ...

  4. ACE - Ubuntu下环境搭建

    之前写了很多linux下的底层网络API的demo,这些demo可用于了解底层的网络通信过程,但是想做出好的服务器用于实际业务还是非常困难的,需要大量的代码实现,移植性也非常差,想要写出高性能架构的服 ...

  5. Centos6.5下编译安装ACE6.0

    ACE在Linux下的编译安装步骤(CentOS6.5 64Bit) Linux平台安装(CentOS6.5 64bit) 1, 下载ACE软件包,上传至Linux服务器(假设目录为/opt/ace, ...

  6. ACE在windows下的编译及配置(VS2010)

    ACE在windows下的编译及配置(VS2010) 分类:             -[小西南]-              2013-08-06 16:17     2354人阅读     评论( ...

  7. 进程监控模块配置与使用 ------ACE(开源项目)

    下面我先从此工程的作用讲起: 此工程适用于程序异常退出,然后自动重启该程序.对于,系统重启不了该进程,那此程序将返回-1,也无法进行下一步工作. 下面,先从配置开始讲起: 参考资料:http://hi ...

  8. videomon 环境搭建

    1.安装ACE-5.8.0.tar.bz2 tar -zxvf ACE-.tar.bz2 cd ACE_wrappers/mkdir buildcd build../configuremake &am ...

  9. 【阿里云产品公测】ACE安装wordpress博客图文教程

    作者:阿里云用户51干警网 阿里云ace搭建wordpress图文教程 按照大大说的,wordpress确实能够轻松创建,只有几步.     我想说,小白的世界技术大大还是不了解.想当初我了解一下怎么 ...

随机推荐

  1. 前端开发工程师 - 05.产品前端架构 - 协作流程 & 接口设计 & 版本管理 & 技术选型 &开发实践

    05.产品前端架构 第1章--协作流程 WEB系统 角色定义 协作流程 职责说明 第2章--接口设计 概述 接口规范 规范应用 本地开发 第3章--版本管理 见 Java开发工程师(Web方向) - ...

  2. lintcode433 岛屿的个数

    岛屿的个数 给一个01矩阵,求不同的岛屿的个数. 0代表海,1代表岛,如果两个1相邻,那么这两个1属于同一个岛.我们只考虑上下左右为相邻. 您在真实的面试中是否遇到过这个题? Yes 样例 在矩阵: ...

  3. 2018牛客多校第二场a题

    一个人可以走一步或者跳x步,但不能连着跳,问到这个区间里有几种走法 考虑两种状态  对于这一点,我可以走过来,前面是怎么样的我不用管,也可以跳过来但是,跳过来必须保证前一步是走的 dp[i][0]表示 ...

  4. Open MPI集群运行

    部署完之后,代码也能正确跑起来了,也确实集群分散了.跑一下各种各样的代码,发现了一个错误: $ ~/OpenMpi/bin/mpiexec -np ~/NetWorkTest My rank is M ...

  5. 详解Jedis连接池报错处理

    在使用Jedis连接池模式下,比较常见的报错如下: redis.clients.jedis.exceptions.JedisConnectionException:Could not get a re ...

  6. 初涉 Deep Drive Dataset

    Berkeley 大学最近推出的针对自动驾驶的街景数据集,号称比 Cityscapes 数据量更大,可泛化性更好. 语义实例分割(Semantic Instance Segmentation) 数据集 ...

  7. mouseover 和 mouseout 事件是可以冒泡的 取消

    mouseover 和 mouseout 事件是可以冒泡的,子元素上触发的事件会冒泡到父元素上.可以改用 mouseleave 和 mouseenter 事件,这两个事件不冒泡.

  8. 自学系列--git的基础简介

    上学期第一次接触git,感觉挺难的,我们都知道这个非常重要,自己对git也自学了一段时间,下面这是对自学内容的总结,拿出来和大家一块交流一下,让我们一起成长吧! 一 git简介 Git是一个开源的分布 ...

  9. java线程安全— synchronized和volatile

    java线程安全— synchronized和volatile package threadsafe; public class TranditionalThreadSynchronized { pu ...

  10. Windows资源监控工具大全

    在利用LoadRunner进行性能测试的时候,Windows服务器的资源是经常需要监控的对象.其实除了LoadRunner提供的计数器,似乎Window服务器并不像Unix或者Linux提供众多的性能 ...