Chinaunix首页 | 论坛 | 博客
  • 博客访问: 184905
  • 博文数量: 20
  • 博客积分: 3020
  • 博客等级: 中校
  • 技术积分: 940
  • 用 户 组: 普通用户
  • 注册时间: 2006-11-18 11:01
文章分类

全部博文(20)

文章存档

2011年(2)

2010年(8)

2009年(9)

2008年(1)

我的朋友
最近访客

分类: C/C++

2009-09-27 00:16:29

因为安装了M$的VS 2003(VC7.1.3091),看网上资料说和标准C++有98%的符合,因为现在在学习C++,并且想学习ACE,
所以就准备把原来在VC6下编译通过的ACE重新用VC7来编译,为以后学习准备好.
 在WINDOWS安装ACE很简单,按照 ACE-INSTALL.html 中的说明做就一切OK,首先在 ACE_ROOT\ace 下建立一个
config.h文件,然后在其中加入一行 #include "ace/config-win32.h" 即可,另外因为我在学习C++嘛,当然希望让ACE使用
标准的C++库了,那就还需要在config.h的第一行()加入一个宏定义:#define ACE_HAS_STANDARD_CPP_LIBRARY 1表明我们要ACE
使用标准的C++头文件,另外还有的配置是是否使用MFC,当然我是不使用了,使用了还指望什么跨平台啊...:)
那么按我的需要,config.h文件中就只有如下两行
#define ACE_HAS_STANDARD_CPP_LIBRARY 1
#include "ace/config-win32.h"
然后就可以打开 ACE_ROOT\ace 目录下的ace.dsw来进行编译工作了
哦,忘了说:ACE_ROOT就是你安装ACE的目录,比如说我是将ACE-5.4.zip解压缩到 d:\ace 目录下的,因为ACE-5.4.zip中本身就包含
路径 ACE_wrappers,所以最后 ACE_ROOT 就等于 d:\ace\ACE_wrappers 了,如果你是解压缩到D:盘的根目录下,那么
ACE_ROOT 就等于 d:\ACE_wrappers 了,以此类推...
 还有一点在你进行ace.dsw的时候要注意,因为.DSW是VC6的工程文件,在VC7.1中打开会提示你是否进行到VC7.1工程文件的转换,选择
"全是"就是了,然后在编译前还有一点要注意:你要编译出
By default, all of the ACE projects use the DLL versions of the MSVC run-time libraries. You can still choose
use the static (LIB) versions of ACE libraries regardless of run-time libraries. The reason we chose to link
only the dynamic run-time library is that almost every NT box has these library installed and to save disk space.
If you prefer to link MFC as a static library into ACE, you can do this by defining ACE_USES_STATIC_MFC
in your config.h file. However, if you would like to link everything (including the MSVC run-time libraries)
statically, you'll need to modify the project files in ACE yourself.
如上提示的什么类型的结果?我是选择的动态连接库,还有就是是DEBUG版本还是RELEASE版本,我是建议DEBUG版本了,因为ACE自带的EXAMPLE,
APPS等都需要的是调试版本的ACE库,如果你生成了RELEASE的库,那你编译那些例子程序就要费些手脚了,嘿,嘿...
 然后编译一路无话,最后提示没有任何错误,警告,这个ACE写得可真是厉害啊...另外我觉得VC7.1的编译速度好象有些慢,VC6下编译时刷刷刷的
编译信息提示得很快,而VC7.1却是一秒钟最多提示编译结束一,两个文件.
 ACE库编译结束后的第一件事自然是编译ACE自带的EXAMPLE了,我等C++小菜鸟不根据例子如何学习? :P 里面的C++NPv1和C++NPv2当然是我们的重点了,
对C++想学习网络编程的可能都听说过这两本书,中文版的两本我都买了,英文版的也下载了 :) 感谢於春景和马维达两位老师的翻译工作,使我们能
更方便的学习ACE!
 让我们继续上面关于ACE例子编译,运行的话题, 下面都以C++NPv1目录下的文件为例子,
其他的例子也类似,首先是编译,应该是没有什么问题的,如果编译不通过,请检查VC7.1的配置,在"工具","选项"中有一个"PROJECT",然后右边有个
"显示以下内容的目录"的下拉框,点开后选择"包含文件",然后在其中加入新的一行 ACE_ROOT\include ,在我的机子中
因为ACE_ROOT等于D:\ace\ACE_wrappers\,所以我加入 D:\ace\ACE_wrappers\include, 对应到你的机子,请按实际情况加入...
 然后因为编译后是链接嘛,这里顺便就说说,因为上面说了,ACE自带的例子程序使用的都是DEBUG库,那么在链接时你就需要指定aced.lib所在的目录了,
因为VC7.1在编译ACE库时,将ACED.LIB等文件放到ACE_ROOT下的LIB目录了,所以你要在上面"显示以下内容的目录"的下拉框中继续选择"库文件",
然后加入新的一行加入ACE_ROOT\lib,这样就一切OK了...
 最后就是程序的运行了,你需要在系统的PATH变量中加入ACE_ROOT\bin和ACE_ROOT\lib 然后再开一个CMD窗口到例子程序的目录,就可以运行
例子程序了...

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/hjmhjms/archive/2007/03/05/1521349.aspx
阅读(703) | 评论(0) | 转发(0) |
0

上一篇:ace的锁概述

下一篇:ACE的内存管理

给主人留下些什么吧!~~