none
通过安装在Window XP上的VS2008 编译的Debug应用不能在Window XP上正常运行,MFC42D.DLL版本不匹配,请求帮助 RRS feed

  • 问题

  • 我通过VS2008编译的Release版应用可以正常运行,但编译成Debug版运行就不正常了,本项目使用了MFC42动态库,目标系统是Window XP SP3,查找了system32目录下有MFC42.dll和MFC42D.dll,但结果Release应用运行正常,但Debug版应用使用的MFC42D.dll不是system32目录下的MFC42D.dll那个库。通过什么办法可以让Debug版应用连接到Window XP System32目录下的Debug MFC42D.dll,使DEBUG应用工作正常?

    2013年5月5日 15:24

答案

  • DLL Hell

    VC2008无法链接MFC42D,你应该找出你的代码中链接了MFC42D的组件然后看它需要什么版本的MFC42D,之后复制对应版本的dllD到你的调试版程序所在目录。

    MFC42D不是可再发布组件,你不应该假定用户计算机上会有这个文件,除非你编写的是Visual C++ 6插件。

    你的安装程序不应该复制MFC42到System32。你应该使用合并模块或者复制MFC42到你的程序的安装目标目录。



    Visual C++ MVP


    2013年5月5日 21:56
    版主