找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 12241|回复: 10

ACE5.7.8在vs2010正式版下不可用

[复制链接]
发表于 2010-4-30 10:48:08 | 显示全部楼层 |阅读模式
不解释了,下面的转的一段话说得比较清楚了。
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.
发表于 2010-4-30 11:37:52 | 显示全部楼层
不知道微软的搞什么。
 楼主| 发表于 2010-4-30 12:25:56 | 显示全部楼层
嗯,不少开源库都得被这么折腾一下。
发表于 2010-4-30 13:32:44 | 显示全部楼层
微软经常把自己认为好的东西放进去,结果还不被别人支持,这也就罢了,还折腾一堆标准警告,这也就算了,现在连宏都不放过了。
发表于 2010-4-30 14:00:48 | 显示全部楼层
微软发疯了。。。
我靠。
发表于 2010-4-30 14:02:40 | 显示全部楼层
跟着微软的公司/人,经常要倒霉。因为微软三天两头的瞎折腾,那个office,翻来覆去的换界面,有人说office 2010的ui,让自己几乎发疯。还有那个SB设计的SB解决方案 - 清单机制。
看来还是unix阵营比较可靠。。。
发表于 2010-5-2 07:56:08 | 显示全部楼层
真晕了,还有这事,微软真折腾。
发表于 2010-5-6 23:08:38 | 显示全部楼层

还好,我还在使用VC6和ACE5.5,不怕了

还好,我还在使用VC6和ACE5.5,不怕了,呵呵
发表于 2010-5-13 14:49:38 | 显示全部楼层
继续2008+5.7.1:)
发表于 2010-7-13 22:41:35 | 显示全部楼层
这是VC2010的一个问题,因为VC2010提供了一个新的errno.h文件,在这里面定义的E*错误,所以ACE在os_errno.h文件中无法将这些定义成WSAE*的错误,才导致了你所说的问题,你可以把这些宏undefine掉,在os_errno.h头文件中ACE检查这些宏的位置之前。
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-11-25 02:39 , Processed in 0.014653 second(s), 5 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表