ace程序编译连接出错解决方案

ace程序编译连接出错
//所有代码如下     vc6.0   建立的一个win32控制台程序

#include   "ace/OS.h "
#include   "ace/Log_Msg.h "
#include   "ace/INET_Addr.h "
#include   "ace/SOCK_Dgram.h "

int   send_unicast   (   const   ACE_INET_Addr   &to   )
{
const   char*   message   =   "this   is   the   message   !   \n ";

ACE_INET_Addr   my_addr   (ACE_static_cast   (u_short,10101)   );

ACE_SOCK_Dgram   udp(my_addr);
ssize_t   sent   =   udp.send(message,ACE_OS_String::strlen   (message)   +   1,   to);

udp.close();
if(sent==   -1   )
      ACE_ERROR_RETURN   (   (LM_ERROR,ACE_TEXT   ( "%p\n "),ACE_TEXT( "send ")   ),-1   );

return   0;

}

int   ACE_TMAIN(int   ,   ACE_TCHAR**   )
{
ACE_INET_Addr   sentD(10101,ACE_LOCALHOST);
send_unicast(sentD);
return   0;
}


我下载的是ACE-5.5     编译ACE-5.5时用的是win32   release
config.h的内容是
#include   "ace/config-win32.h "


生成的一个ACE.lib


在编译时   出现的错误是


Linking...
C.OBJ   :   error   LNK2001:   unresolved   external   symbol   "__declspec(dllimport)   unsigned   int   __cdecl   ACE_OS::strlen(char   const   *) "   (__imp_?strlen@ACE_OS@@YAIPBD@Z)
C.OBJ   :   error   LNK2001:   unresolved   external   symbol   ___CxxFrameHandler
C.OBJ   :   error   LNK2001:   unresolved   external   symbol   __except_list
C.OBJ   :   error   LNK2001:   unresolved   external   symbol   __chkesp
LINK   :   error   LNK2001:   unresolved   external   symbol   _mainCRTStartup
Debug/T.exe   :   fatal   error   LNK1120:   5   unresolved   externals


请问是怎么回事


------解决方案--------------------
首先要Build你的ACE
我假定你Build了 Debug 版,那么然后加入
#pragma comment ( lib, "aced.lib " )
再重新生成编译方案。
/******************************************************
* 程序如下,我加入了链接选项
*****************************************************/
#include "ace/OS.h "
#include "ace/Log_Msg.h "
#include "ace/INET_Addr.h "
#include "ace/SOCK_Dgram.h "

#pragma comment ( lib, "aced.lib " )

int send_unicast ( const ACE_INET_Addr &to )
{
const char* message = "this is the message ! \n ";

ACE_INET_Addr my_addr (ACE_static_cast (u_short,10101) );

ACE_SOCK_Dgram udp(my_addr);
ssize_t sent = udp.send(message,ACE_OS_String::strlen (message) + 1, to);

udp.close();
if(sent== -1 )
ACE_ERROR_RETURN ( (LM_ERROR,ACE_TEXT ( "%p\n "),ACE_TEXT( "send ") ),-1 );

return 0;

}

int ACE_TMAIN(int , ACE_TCHAR** )
{
ACE_INET_Addr sentD(10101,ACE_LOCALHOST);
send_unicast(sentD);
return 0;
}


然后就会得到
------ 已启动生成: 项目: test2, 配置: Debug Win32 ------

正在编译...
test2.cpp
正在链接...

生成日志保存在“file://d:\Visual Studio Projects\test2\Debug\BuildLog.htm”中
test2 - 0 错误,0 警告


---------------------- 完成 ---------------------