今天中午,把自己寫的遊戲拷到別人機器上測試回合,為了弄明白怎麼配置動態連結程式庫,忙活了一中午,總算可以在別人電腦上正常運行了。現在把具體操作跟大家分享下哈,希望對大家有所協助。
引用:http://www.360doc.com/content/10/0717/12/163747_39607125.shtml 用VS2008編的MFC程式需要哪些dll支援在目標機器上安裝.NET Framework,如果你用了.NET的架構類,就需要此平台支撐。用靜態連結到MFC庫,可以解決dll的大多數問題,但是程式體積明顯增大。給你另外兩個建議:1.在VS2008環境中運行程式的Release版本,觀察調試視窗中,程式載入了哪些庫檔案(DLL,ocx等)。2.用VS2008命令列工具的dumpbin命令,dependents和import參數分別分析以下你的程式依賴哪些庫,需要引入哪些庫。
個人推薦使用第二個方法。安裝完VS後,找“菜單》vs...》visual studio tool》visual studio ...命令提示",運行它,輸入 dumpbin /dependents xxx.exe 命令,可查看到exe檔案所引用到的dll動態連結程式庫。(註:需要將 ”命令提示“ 的路徑指到xxx.exe所在路徑,或者將xxx.exe拷貝到vs/vc目錄下)然後將所需要的dll檔案從system32目錄下拷貝到xxx.exe所在路徑。當然,有些dll不需要拷貝,像gdi32.dll
kernel32.dll user32.dll comctr32.dll等,windows作業系統已經內建安裝了。
圖1 win32應用程式分析
圖2 MFC程式分析
紅色圈起來的dll,要到system32目錄下拷出來。藍色的部分為MFC運行庫,需要到VS目錄下拷出來。
對於MFC程式的運行,需要VC運行庫。所以我們需要將運行庫拷貝到應用程式目錄下。vc運行庫可以在vs》vc》redist目錄下面找到
。
圖3 vc運行庫
圖4 vc運行庫(調試版)
注意:拷貝時根據需要將這幾個檔案夾拷貝到應用程式目錄,不能直接將dll拷出來!是我配置的程式:
由於在我周圍很難找到一個電腦完全沒裝過VS相關程式的電腦,所以上面的測試有可能不準確,敬請大家提意見。