我们有这样的经验,在VC6.0、VS2003下使用Use MFC in a shared DLL选项编译出来的程序,如果在一台纯洁的机器上运行,会弹出警告,提示我们缺少某些dll。我们乖乖的把那些库收集起来,打包的时候裹到一起就OK了。
可是,在VS2005下,好日子不再有了。在VS2005下使用Use MFC in a shared DLL选项编译出来的程序,在Windows 2003或Windows XP下运行,系统会警告:“应用程序配置不正确,应用程序因此未能启动,重新安装也许会解决此问题。”我们认为问题不大,按照以往经验,把MFC开头的dll拿来,放在程序目录下...可是,为什么警告依旧呢?
找啊找啊找方法,找到一个好方法。运行一个vcredist_x86就可解决此问题。该文件在C:/Program Files/Microsoft Visual Studio 8/SDK/v2.0/BootStrapper/Packages/vcredist_x86目录下。
需要解释?VC2005编译出来的程序文件,采用了manifest方式来指定dll文件...需要更多解释?找微软吧!
用Use MFC in a Static Library选项来编译,不会有这些问题。不过,这不是今天讨论的重点。