VC6.0上成功编译ACE和使用ACE连接自己程序时候的手把手配置方案

  成功编译ACE时的配置和使用ACE连接自己程序时候的配置: 开始使用ACE,虽然网上多的是介绍编译和使用的文章,但是都没有傻瓜级的使用指南,希望这篇能够弥补这个不足。 test程序使用console的程序 test.cpp #include "ace/INET_Addr.h" #include "ace/SOCK_Stream.h" #include "ace/SOCK_Connector.h" #include "ace/Log_Msg.h" int ACE_TMAIN (int, ACE_TCHAR *[]) { ACE_INET_Addr srvr(50000,ACE_LOCALHOST); ACE_SOCK_Connector connector; ACE_SOCK_Stream peer; if( -1 == connector.connect(peer,srvr) ){ ACE_ERROR_RETURN(( LM_ERROR,ACE_TEXT("% p/n"),ACE_TEXT("connect") ),1); } int bc; char buf[64]; peer.send_n("uptime/n",7); bc = peer.recv(buf,sizeof(buf)); write(1,buf,bc); peer.close(); return (0); } 其编译时的配置情况: tools -> Directories -> include files 中包含了ace的文件夹 tools -> Directories -> library files 中包含了ACE_wrappers/bin文件夹 路径 tools -> Directories -> library files 中包含了ACE_wrappers/lib文件夹路径;注意这个lib路径应该是编译ace生成的dll,lib的存放的地方;用户可以另外保存。 project -> Setting 页面中的Setting For: 选择win32 Debug project -> Setting -> General 页面在Microsoft Foundation Classes中选择Not Using MFC project -> Setting -> C/C++ -> Code Generation页面中的Use run-time library栏中选择Debug Multithreaded DLL project -> Setting -> Link -> Input 页面中 在Object/library modules栏中添加aced.lib OK.这样我们的编译的test程序: 基于console,而不用mfc类库;使用aced.dll共享库;使用调试模式的多线程共享库;执行的时候,应该会提示找不到aced.dll文件,实际这个应该是在test程序根目录下存放aced.dll,或者在系统目录win32下存放aced.dll,我还是更倾向于前者。 运行。。。。呵呵,这个test只是随手写的,并不能很好的运行,因为没有server端,但至少证明可以运行的。 下面还是缺少满足上述程序的如何ACED.DLL 这样的程序需要对应的ACED.dll库,下面讲述如何构建ACED.DLL 按照很多网上文章介绍的步骤,打开ace.dsw 创建config.h文件并加入工程,config.h文件内容为: #define ACE_HAS_STANDARD_CPP_LIBRARY 1 //使用标准C++库 //#define ACE_HAS_MFC 1 //使用MFC库 //#define THR_USE_AFX 1 //使用CWinThread产生新的线程类 //#define ACE_USES_STATIC_MFC 1 //静态连接MFC库 //#define ACE_AS_STATIC_LIBS 1 //生成静态的ACE库 //#define ACE_NO_INLINE //是否使用内联函数在静态库内 #include "ace/config-win32.h" 我注销了大部分的define语句,而保留了ACE_HAS_STANDARD_CPP_LIBRARY 行是因为我实在习惯了STL的操作一般情况下在拥有这样一个config.h后,就能在ACE_wrappers/lib文件夹下生成我们需要的lib和dll文件 但为了安全期间,我还check了一下VC设置的其他地方(和上面test设置的地方一样),大家跟着一起查看一下 Project Setting应保证win32 Debug;Project Setting -> General应保证不使用MFC;Project Setting ->C/C+应保证使用Debug Multhread;Project Setting ->Link应保证加入了aced.lib 所有的保证了,那一定能够顺利编译,并在ACE_wrappers/lib中得到了aced.lib 和aced.dll文件 希望大家都成功使用ACE
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值