解决Windows 2003程序运行定位错的方法 |
发布时间: 2012/7/12 13:44:41 |
症状
当你在Microsoft Windows Server2003 或 Mircosoft Windows XP 上运行允许统一码的、使用了FreeAddrInfo Windows Sockets 函数或者用户助手类,例如,ATL::CSocketAddr 的应用程序时,你可能收到下面的错误信息:无法定位程序输入点FreeAddrinfoW于动态链接库WS2_32.dll上 原因 WS2_32.dll库没有输出 FreeAddrInfoW符号,你必须使用统一码版本的FreeAddrInfo函数。 解决方法 根据下面的步骤来解决这个问题: 1、把Atlsocket.h文件复制到你想使用的任意文件夹中。这个文件位于下面的目录中: Program Files\Microsoft Visual Studio .NET 2003\Vc7\atlmfc\include 2、在第一步中创建的Atlsocket.h中,加入下面的代码块
3、运行Mircosoft Visual C++ 4、在工具菜单中单击选项。在选项对话框的左面,打开项目,然后单击VC++目录 注意:如果你使用的是Visual C++ Express版本,在选项对话框的左面,打开项目和方案,然后单击VC++目录 5、在选中包含文件栏,然后把Atlsocket.h文件的修改版本所在的目录增加到列表的顶部。 6、重新建立你的应用程序。 状况 Microsoft已经确认在Microsoft产品中存在这个bug,已经在“Applies to”章中列出 本文出自:亿恩科技【www.enkj.com】 |