VS 2012 - XP问题

Mah*_*esh 5 c++ windows-xp visual-studio-2012

我也安装了VS 2012 Professional和XP更新.我v110_xp在VS 2012上使用平台工具集构建了我的项目.我的项目的.msi包在Win 7上正常安装但在Win XP SP3上失败.XP SP3上报告的错误是 -

"程序入口点FlushProcessWriteBuffers无法位于动态链接库Kernel32.dll中".

虽然从VS 2005构建的相同项目在XP SP3上安装正常.我不确定VS 2012会发生什么._WIN32_WINNT设置为0x0501.有人可以指导如何解决问题?

任何帮助都非常感谢,

马赫什.

Han*_*ant 13

是的,C Runtime依赖于FlushProcessWriteBuffers().msvcrt110.dll和libcmtl.lib的更新版本,与更新相关的版本,不再直接链接到该函数,它们使用GetProcAddress()来查找它,如果它是missng则跛行.所以你永远不应该得到这个错误.

因此,您部署了错误版本的msvcrt110.dll(一个旧版本而不是更新版本)的可能性非常高.您可以在c:\ windows\system32中找到它,查看属性.我的版本是11.00.51106.1,日期为11/5/2012.单独的安装程序是适用于它在这里.

  • 这不太顺利.为什么不直接使用我链接的安装程序并将其解决?然后花点时间找出你的问题. (4认同)