用VS2010編寫的C++程序,在其他電腦上無法運行的問題


問題:
在自己電腦上用VS2010編寫的VC++程序(使用MFC庫),不能在其他電腦上運行。雙擊提示:

“無法啟動此程序,因為計算機中丟失mfc100u.dll 嘗試重新安裝該程序以解決此問題。

 

解決方案:

方案1.采用靜態編譯

    使用VS2010編譯的程序在windows xp中運行時,經常會出現找不到相關的DLL文件,我們可以使用靜態編譯的方法把這些運行依賴文件打包到*.exe中來,以減少對環境的依賴。
一般可以配置以下兩項:
(1)項目 -> **屬性 -> 配置屬性 -> 常規 -> MFC的使用 :在靜態庫中使用MFC。
(2)項目 -> **屬性 -> 配置屬性 -> C/C++ -> 代碼生成 -> 運行庫 :多線程(/MT)。


方案2.將mfc100.dll和應用程序一起打包發布,並在該包中加入安裝控件的說明文件

附:mfc100.dll控件常規安裝方法(說明文件):
①將下載來的mfc100.dll拷貝到指定目錄(一般是system系統目錄或放到軟件同級目錄里面),或者重新添加文件引用。 若您的系統是Windows XP/WIN7/Vista系統(32位),請將mfc100.dll復制到C:\Windows\System32目錄下;若您的系統是64位,請將文件復制到C:\Windows\SysWOW64目錄。
②點擊 開始 -> 運行,輸入"regsvr32 mfc100.dll",回車即可解決。
或者將下面的代碼保存為“注冊.bat”(方法:新建.txt文檔,打開文檔輸入代碼后保存關閉,更改文件名及擴展名為“注冊.bat”),放到dll文件同級目錄(只要在同一個文件夾里面有這兩個文件即可),雙擊注冊.bat,就會自動完成mfc100.dll注冊(win98不支持)。
下面是32系統的注冊bat文件(64位的請將下面的system32替換為SysWOW64即可)
代碼如下:
@echo 開始注冊
copy mfc100.dll %windir%\system32\
regsvr32 %windir%\system32\mfc100.dll /s
@echo mfc100.dll注冊成功
@pause

方案3.將程序和vcredist_x86.exe一起打包發布(或提示用戶下載並安裝vcredist_x86.exe)

下載並安裝vcredist_x86.exe即可。
vcredist_x86.exe下載地址:
http://www.microsoft.com/zh-cn/download/details.aspx?id=8328


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM