原文转自:
http://acejoy.com/bbs/viewthread.php?tid=2154&extra=page%3D1
modern
版 主
Rank: 7Rank: 7Rank: 7
UID 544
精华 1
积分 365
帖 子 325
威望 365
金钱 365
ACEJOY 366
阅读权限 100
注册 2008-6-13
状 态 离线
#1
使用道具
发表于 2010-4-30 10:48 资料 个人空间 短消息 加为好友
ACE5.7.8 在vs2010正式版下不可用
不解释了,下面的转的一段话说得比较清楚了。
It says that you can #define errno WSAGetLastError() and has the following example:
r = recv(...);
if (r == -1 /* (but see below) */
&& WSAGetLastError() == EWOULDBLOCK)
{...}
This code will NOT work in VS2010 because EWOULDBLOCK is 140 and WSAEWOULDBLOCK is 10035L.
Some popular libraries like openssl are now broken because of this.
只 要有涉及这类代码的都得改一下才行了,太郁闷 了,好不容易才把那个sb的manifest去掉,又出这些玩意儿了。
包括libcurl,openssl,ace或者更多的网络相关库在vs2010下可能都要做一些相应的修改。
http://msdn.microsoft.com/en-us/library/ms737828%28VS.85%29.aspx
http://connect.microsoft.com/VisualStudio/feedback/details/509380/errno-h-socket-return-codes-now-inconsistent-with-wsagetlasterror
Remove Comment 41887