atlsocket.inl(26): error C3861: “FreeAddrInfo”: 即使使用参数相关的查找

今天编译一个工程遇到了这个错误:

atlsocket.inl(26): error C3861: “FreeAddrInfo”: 即使使用参数相关的查找。

网上搜了挺多的资料,说来还是google给力啊,baidu不行啊。找了挺多的方案:

下面这个就参考一下吧,不太理解如何解决这个问题,我试了没有解决我的问题。

今天在编译MPC的时候,出现了这个错误提示,很奇怪,前段时间编译都是一次性通过的。G了一下,找到了一个解决办法:在项目属性中预处理器定义设“WINVER=0x0502”,查了一下MSDN: 

Minimum system required Macros to define
Windows Server 2003 family _WIN32_WINNT>=0x0502
Windows XP _WIN32_WINNT>=0x0501
Windows 2000 _WIN32_WINNT>=0x0500
Windows NT 4.0 _WIN32_WINNT>=0x0400
Windows Me _WIN32_WINDOWS=0x0490
Windows 98 _WIN32_WINDOWS>=0x0410
Internet Explorer 6.0 _WIN32_IE>=0x0600
Internet Explorer 5.01, 5.5 _WIN32_IE>=0x0501
Internet Explorer 5.0, 5.0a, 5.0b _WIN32_IE>=0x0500
Internet Explorer 4.01 _WIN32_IE>=0x0401
Internet Explorer 4.0 _WIN32_IE>=0x0400
Internet Explorer 3.0, 3.01, 3.02 _WIN32_IE>=0x0300


也就是说假定当前的环境为Windows 2003,上次编译通过的确也是在Windows 2003下,现在的环境是Windows 2000 SP4,那在执行的时候会不会出问题呢?不知道,如果碰到了再说吧。

Goolgle出的一个帖子:

http://social.msdn.microsoft.com/Forums/vstudio/en-US/484917eb-71c3-4fc2-92f1-f8b0d0a70ce6/using-the-plaform-sdk-with-visual-studionet-2003

这里面的一个:

Please try the suggested above workaround. This is conflict of atlmfc from PSDK and VS. Do this:

Include
$(VCInstallDir)include
$(VCInstallDir)atlmfc\include
C:\Program Files\Microsoft Platform SDK\include
C:\Program Files\Microsoft DirectX 9.0 SDK (February 2005)\Include
$(FrameworkSDKDir)include

Libraries
$(VCInstallDir)lib
$(VCInstallDir)atlmfc\lib
C:\Program Files\Microsoft Platform SDK\lib
C:\Program Files\Microsoft DirectX 9.0 SDK (February 2005)\Lib\x86

That should do it.


 

发现自己的IDE确实是如此的问题,更改了一下包含顺序,问题解决,挺开心,这个问题之前已经遇到过一次,忘记了当时如何处理的,这次总结一下以备参考。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

百鸣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值