window环境下编译ACE以及在vs2010上配置ACE
http://blog.csdn.net/luyafei_89430/article/details/8886623
编写程序时需要注意的:
1 #include <iostream>
2 #include " ace\Log_Msg.h "
3
4 int main( int argv, char *agrv[])
5 {
6 ACE_DEBUG((LM_INFO, " HELLO WORLD "));
7 system( " PAUSE ");
8 return 0;
2 #include " ace\Log_Msg.h "
3
4 int main( int argv, char *agrv[])
5 {
6 ACE_DEBUG((LM_INFO, " HELLO WORLD "));
7 system( " PAUSE ");
8 return 0;
9 }
正常使用system函数时,都回包含Windows.h头文件,但是如果用ACE库,就不能再包含,因为ACE库中已经对window的一些系统函数进行的重新定义,如果再次包含则会提示类似如下错误:
c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(91): warning C4005: 'AF_IPX' : macro redefinition
1> c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(460) : see previous definition of 'AF_IPX'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(131): warning C4005: 'AF_MAX' : macro redefinition
1> c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(479) : see previous definition of 'AF_MAX'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(168): warning C4005: 'SO_DONTLINGER' : macro redefinition
1> c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(402) : see previous definition of 'SO_DONTLINGER'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(212): error C2011: 'sockaddr' : 'struct' type redefinition
1> c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(485) : see declaration of 'sockaddr'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(390): error C2059: syntax error : 'constant'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(390): error C3805: 'constant': unexpected token, expected either '}' or a ','
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(524): warning C4005: 'IN_CLASSA' : macro redefinition