我們有這樣的經驗,在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選項來編譯,不會有這些問題。不過,這不是今天討論的重點。