使用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")後
程序運行成功