VS 2012 - XP Issues
VS 2012 - XP Issues
我也安装了VS 2012 Professional和XP更新。我在VS 2012上用v110_xp
作为平台工具集构建了我的项目。我的项目的.msi包在 Win 7 上安装正常,但在 Win XP SP3 上失败。XP SP3 上报告的错误是 -
"过程入口点 FlushProcessWriteBuffers 不能 位于动态链接库内核32.dll"中。
虽然从VS 2005构建的相同项目在XP SP3上安装良好。我不确定VS 2012发生了什么。 _WIN32_WINNT
设置为 0x0501
。有人可以指导如何解决问题吗?
任何帮助都非常感谢,
马赫什。
是的,C 运行时依赖于 FlushProcessWriteBuffers()。 msvcrt110.dll 和 libcmtl.lib 的更新版本,即您与更新相处的那些,不再直接链接到该函数,它们使用 GetProcAddress() 来查找它,如果错过了,则一瘸一拐地走。 所以你不应该得到这个错误。
因此,您部署了错误版本的msvcrt110.dll的可能性非常高,这是一个旧版本而不是更新版本。 你可以在 c:\windows\system32 中找到它,查看属性。 我的版本是 11.00.51106.1,日期为 11/5/2012。 此处提供了单独的安装程序。
您正在安装的 VS2012 运行时使用 XP 中不存在的功能。请参阅这篇 MS 文章:在 Visual Studio 2012 中使用C++面向 Windows XP,其中解释了更多内容并提供了一些解决方法。
VS2012 更新 1 解决了此问题。
但更新 1 不仅仅是关于新的 Windows 平台。它还使您能够在Visual Studio 2012中使用本机C++应用程序面向Windows XP。
如果您使用更新 1 构建并且仍然遇到问题,那么我怀疑您正在安装过时的运行时。您需要部署随更新 1 提供的运行时。
安装程序中包含开发计算机中的 VC11 合并模块(程序文件\通用文件\合并模块)来解决此问题。这比必须在安装程序中运行 redist exe 更容易。
如果您使用 WIX:合并模块添加
我已经在服务器 03、xp64 和 xp32 上进行了测试。
- Issues with Win32 ReadProcessMemory API
- std::async from std::async in windows xp
- 在Visual Studio 2017中创建的简单DLL不会在XP中加载
- Zooming Issues with glutMouseWheelFunc
- 如何在Visual Studio 2017中编译Windows XP的代码
- 无法为 AES 加密创建 contex.视窗XP
- Cygwin pkg-config/protobuf filepath issues
- CreateFileWindows XP和7中存在一个问题
- 如何构建使用Visual Studio 2017的Windows XP的Winsock2(WS2_32.LIB)应用程序
- WinHttpSendRequest and HTTPS on Windows XP
- 在调试模式下使用 Visual C++ 2017 针对 XP (v141_xp) 链接 ODBCCP32.lib 时LN
- 如何在XP上删除注册表密钥,同时控制注册表的平台特定视图
- 功能本地静态为Windows XP生成故障代码
- Issues with to_string
- C++ (2012 Express) CString Issues
- SHOpenWithDialog analog for windows XP?
- 如何检查操作系统是否至少是Windows XP SP3
- 使用Visual Studio 2012针对Windows XP构建Boost 1.52库
- 使用 Build Tools 2015 (不带 Visual Studio) 面向 Windows XP
- VS 2012 - XP Issues