Boost Asio dll在Windows 2000上引发ws2_32.dll错误

时间:2009-07-10 13:32:44

标签: winsock boost-asio

我有一个使用boost Asio进行网络连接的dll。当我将此dll链接到在Windows 2000上运行的应用程序时,会抛出运行时异常:

“程序入口点freeaddrinfo无法在动态链接库WS2_32.dll中找到”

Microsoft在http://msdn.microsoft.com/en-us/library/ms737931(VS.85).aspx提供了一种解决方法,但这对我不起作用。

有人能指出我的解决方案吗?

非常感谢,

- 维杰

1 个答案:

答案 0 :(得分:1)

您是否使用为NTDDI_VERSION_WIN32_WINNT设置的正确值来构建您的dll以定位Windows 2000?您希望它们设置为0x05000000和0x0500。假设您完全重建了dll,那么您应该收到关于编译器无法找到freeaddrinfo的警告(如果您没有遵循MS解决方法),或者它应该“正常工作”。

现在我希望您构建的目标是更高版本的Windows,并且标题允许您使用系统中存在的功能,该功能在您尝试运行的系统上存在上。