使用VS2010编译运行ACE版本号为6.0.1
按照网上步骤添加config.h,在ACE_wrappers/ace目录下 ,新建 config.h 文件加入以下内容:
#include "ace/config-win32.h"
#define ACE_HAS_STANDARD_CPP_LIBRARY 1
添加用户变量:
变量名 PATH
值 %ACE_ROOT%/bin;%ACE_ROOT%/lib
添加环境变量:
变量名 ACE_ROOT
值 D:\ACE_wrappers(ACE根目录)
编译、链接均通过,没有出现错误。
编译链接ACE的example,也没有出现错误,运行example,均出现run.server:function not implment,搜索了一下,修改project--》properties--》configuration properties--》debugging--》command argument,这里要填写一个网络端口号,我填写80,提示端口被占用,应该是我电脑上apache占用了该端口,改为一个不常用的端口,运行通过。
按照网上的说法:
选择工具(Tools)——> 选项(Options)——> 项目和解决方案(Projects and Solutions)——>VC++目录(VC++ Directories)
可执行文件(Executable files):添加$(ACE_ROOT)/bin
包含文件(Include files):添加$(ACE_ROOT)
库文件(Library files):添加$(ACE_ROOT)/lib
找到后发现不能修改,原因是vs2010的vc++ Directories要到view--》property page下修改
修改好后运行程序,还是出现错误,将aced.lib放到到工程目录下,在程序中加入#pragma comment (lib, "aced.lib")后
程序运行成功