1

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

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

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

谁能指出我的解决方案?

非常感谢,

——维杰

4

1 回答 1

1

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

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

于 2009-07-10T16:48:50.903 回答