我有一个使用boost Asio进行网络连接的dll。当我将此dll链接到在Windows 2000上运行的应用程序时,会抛出运行时异常:
“程序入口点freeaddrinfo无法在动态链接库WS2_32.dll中找到”
Microsoft在http://msdn.microsoft.com/en-us/library/ms737931(VS.85).aspx提供了一种解决方法,但这对我不起作用。
有人能指出我的解决方案吗?
非常感谢,
- 维杰
答案 0 :(得分:1)
您是否使用为NTDDI_VERSION
和_WIN32_WINNT
设置的正确值来构建您的dll以定位Windows 2000?您希望它们设置为0x05000000和0x0500。假设您完全重建了dll,那么您应该收到关于编译器无法找到freeaddrinfo
的警告(如果您没有遵循MS解决方法),或者它应该“正常工作”。
现在我希望您构建的目标是更高版本的Windows,并且标题允许您使用系统中存在的功能,该功能在您尝试运行的系统上存在上。