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

2016-02-19 17:41 0 1 收藏

人生本是一个不断学习的过程,在这个过程中,图老师就是你们的好帮手,下面分享的C++网络开发包ACE环境的配置与调试懂设计的网友们快点来了解吧!

【 tulaoshi.com - 编程语言 】

  

  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_wrappersace目录下新建文件config.h加入一行

  #include "ace/config-win32.h"

  四、编译:用VC6.0打开D:ACE_wrappersaceace.dsw

  左侧显示  ACE DLL classes

  ACE LIB classes

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

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

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

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

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

  产生的.lib文件位于D:ACE_wrappersace下,

  产生的.dll文件位于D:ACE_wrappersbin下

  同样打开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_wrappersteststests.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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  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_wrappersace

  编译client中遇到的问题

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  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_numbern?));

  将?改为"

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

  为系统变量PATH加上D:ACE_wrappersbin

  静态包含:

  工程-设置-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

来源:https://www.tulaoshi.com/n/20160219/1615825.html

延伸阅读
标签: Java JAVA基础
  首先讲一下环境配置,注意我配置的环境是在win 2000 server下的,不是linux下的,配置的大致流程和操作系统无关,仅仅是在具体的安装上有差别。而配置成功与否,与操作系统无关。 软件安装分为一下几个部分: 1、 java环境安装: 这里使用的是jdk1.4.1(jdk1.4.2也可以),这个可以到sun公司的网站去下载; ...
win7 32位旗舰版配置与调试JDK环境技巧   JDK产品是针对Java而开发的,在Linux系统中使用的比较广泛,但也有不少用户将JDK应用到Windows系统中,但是不知道该如何操作设置,网上有很多教程虽然有很多教程设置,但是都安装配置失败,这里图老师小编介绍通过几步简单设置即可完成。下面图老师小编主要介绍在Windows7系统下配置与调试JDK...
  文/张善友 Redhat linux上面没有提供Anjuta软件包,上面提供了一个Glade应用程序界面设计工具。Linux上面使用Anjuta和Glade以及Glademm软件包可以搭建一个linux下面进行C/C++软件开发的IDE环境,可以进行GTK+/Gnome的应用程序开发。 以前开发 Linux 程序时写出好的图形化用户界面比较难。在 GIMP 工具包 (GTK)诞生之后,...
标签: ASP
  现在正在搞三层开发,用ASP和VB6.0,但是现在苦于没有找到合适的方法来调试自己写的DLL文件,效率相当低。 我用了几种方法: 1.在IIS中选择卸载,然后用VB重新编译,覆盖掉原来的DLL 2.在IIS中选择一个你调试的站点,停止,然后编译覆盖,然后启动,再在IE中刷新页面。 3.在命令行执行Regsvr32.exe -u 文件名 然后编译覆盖 刷新 但是...
ACE自适配通信环境 撰文/Douglas C. Schmidt 翻译/马维达 一、ACE综述 ACE自适配通信环境(ADAPTIVE Communication Environment)是可自由使用、开放源码的面向对象(OO)构架(framework),它实现了许多用于并发通信软件的核心模式。ACE提供了一组丰富的可重用C++包装外观(wrapper ...

经验教程

644

收藏

66
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部