分享
 
 
 

C++网络开发包ACE环境的配置与调试

王朝vc·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

ACE是个很有用的开放源代码的C++网络编程开发包,利用它比直接用API更有利于代码的健壮性,可移植性,并相对简单。

估计大家刚接触ACE时,都有一定难度,说不定就半途放弃了,这是我学ACE两天中的总结,基本上不成文,但我想研究到ACE的你一定会明白下文的意思。

我的系统环境是:Win2k pro(sp4)、VC6.0 (sp5)

过一阵,我的主页上要开论坛,并设VC专区,欢迎大家上去交流

http://www.liufei.com

一、ACE官方主页:http://www.cs.wustl.edu/~schmidt/ACE.html

下载地址:http://deuce.doc.wustl.edu/Download.html

我下载的是Latest Beta Kit中的ACE.zip(Latest Release中的压缩包好像有问题,我有WinRAR3.30解压缩报错)

二、解压缩后放在D盘

D:\ACE_wrappers

三、在D:\ACE_wrappers\ace目录下新建文件config.h加入一行

#include "ace/config-win32.h"

四、编译:用VC6.0打开D:\ACE_wrappers\ace\ace.dsw

左侧显示 ACE DLL classes

ACE LIB classes

或1、从菜单上选择“编译”,“放置可远行配置”,选择你需要的工程配置

“编译”,“重建全部”(或任一,如ACE DLL - Win32 MFC Debug)

此过程可能持续半小时至一个小时不等

或2、从菜单上选择“编译”,“批构建”,选择你需要的工程配置

此过程可能持续二至四个钟头

产生的.lib文件位于D:\ACE_wrappers\ace\下,

产生的.dll文件位于D:\ACE_wrappers\bin\下

同样打开ace_static.dsw

编译

ACEs.lib

ACEsd.lib

ACE_RMCasts.lib

ACE_RMCastsd.lib

TMCasts.lib

TMCastsd.lib

ACE生成的dll和lib文件的命名规则:(d = debug,s = static)

debug - aced.lib、debug+static - acesd.lib、release - ace.lib、 release+static - aces.lib

五、样例程序的编译

用VC打开D:\ACE_wrappers\tests\tests.dsw

“编译”,“批构建”

六、自写程序的工程配置

中篇:ACE程序员教程.pdf中的样例程序:

网址:http://www.cs.wustl.edu/~schmidt/ACE_wrappers/docs/tutorials/guide-tutorials.html

将网页上的原代码复制到一新建文件,并命名为server.cpp

用VC打开,编译,重建全部,弹出对话框,“This build command require ...“,点”是“

会出现以下错误

如果有“Cannot open include file: 'ace/SOCK_Acceptor.h': No such file or directory”

工程-设置-C/C++: Preprocessor,附加包含路径:D:/ACE_wrappers

如果有“ You must link against multi-threaded libraries when using ACE (check your project settings)”

工程-设置-C/C++: Code Generation - Use run-time library : Debug Multithreaded Dll

如果有“error C2065: 'ACE_ERROR' : undeclared identifier”

error C2065: 'ACE_DEBUG' : undeclared identifier

#include "ace/Log_Msg.h"

error C4716: 'ace_main_i' : must return a value

在main中加入

return 0;

“error LNK2001: unresolved external symbol "__declspec(dllimport) int __cdecl”

工程-设置-Link-Input: 对象/库模块:添加aced.lib 附加库路径:D:\ACE_wrappers\ace

编译client中遇到的问题

1、error C2039: 'sprintf' : is not a member of 'ACE_OS'

#include "ace/OS_NS_stdio.h"

2、error C2039: 'strlen' : is not a member of 'ACE_OS'

#include "ace/OS_NS_string.h"

3、error C2059: syntax error : '?'

错误在这一句: ACE_DEBUG((LM_DEBUG,?Usage egX <hostname> <port_number>\n?));

将?改为"

4、无法找到动态链接库aced.dll于指定的路径

为系统变量PATH加上D:\ACE_wrappers\bin

静态包含:

工程-设置-C/C++-预处理程序定义中加入 ,ACE_AS_STATIC_LIBS

例1server编译后生成

server.exe 16K serverd.exe 97K servers.exe 124K serversd.exe 669K

(servers.exe较适合发布)

例2 client编译后生成

client.exe 16K clientd.exe 97K clients.exe 124K clientsd.exe 669K

(clients.exe较适合发布)

测试 clients 127.0.0.1 1919

servers 1919

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有