【发布时间】:2013-08-06 16:29:37
【问题描述】:
我有一个使用 Visual Studio 2012 Update 3 在 Windows 7 机器上编译的程序。我在构建它时选择了“Visual Studio 2012 - Windows XP (v110_xp)”平台工具集。但是,当我尝试在 Windows XP SP3 机器上运行二进制文件时,我收到以下错误:
“无法在动态链接库 WS2_32.DLL 中找到过程入口点 inet_ntop。”
现在,我很确定我知道这个错误的含义:这意味着 DLL 加载程序在 WinXP 机器上的 WS2_32.DLL 中找不到 inet_ntop() 函数。知道这只会治疗问题的症状而不是源头,我将 WS2_32.DLL 从 Win7 机器复制到我在 WinXP 机器上拥有 EXE 的同一目录中。我通过了该错误,只是将其替换为类似的错误,但这次指的是在 MSVCRT.DLL 中找到的函数。
奇怪的是,这次将 MSVCRT.DLL 从 Win7 机器复制到 WinXP 机器并没有让我通过错误。
有人知道我需要做什么才能让二进制文件在 WinXP 上运行吗?如果归根结底,我将在虚拟机中设置一个 WinXP 开发环境,然后从那里进行构建。目前工作量很大,所以我宁愿继续在我的 Win7 机器上进行构建。
谢谢!
【问题讨论】:
-
我怀疑 this 是你所缺少的。
-
嗯 ...我今天早上在 WinXP 机器上安装了 a vcredist for 2012。但是看看你的链接,它说“for Visual Studio 2012 Update 3”,我不记得我下载的 vcredist 副本上面写着“Update 3”。所以这可能是我的问题。我现在正在家里输入这个回复,所以我会在明天上班的第一件事上尝试这个,然后再报告。谢谢!
标签: c++ windows visual-studio-2012 windows-xp-sp3