出現這個問題的原因如下:
用VS2005下用C++寫的程序,在一臺未安裝VS2005的系統上,用命令行方式運行,提示:“系統無法執行指定的程序”。直接雙擊運行,提示:“由于應用程序的配置不正確,應用程序未能啟動,重新安裝應用程序可能會糾正這個問題”的解決辦法:以前用VC6和VS2003的話,如果缺少庫文件,是會提示缺少“**.dll”,但是用VS2005卻沒有這樣的提示。
自己實驗了一下,感覺以下幾種解決辦法是可行的:
方法一:在類似C:/PRogramFiles/Microsoft Visual Studio 8/VC/redist/Debug_NonRedist/x86/Microsoft.VC80.DebugCRT 下找到了下列文件:
msvcm80d.dllmsvcp80d.dllmsvcr80d.dllMicrosoft.VC80.DebugCRT.manifest
把這幾個文件拷貝到目標機器上,與運行程序同一文件夾或放到system32下,就可以正確運行了。
其他release版、MFC程序什么的都是拷redist下相應文件夾下的文件就可以了,文件夾后都有標識!
方法二:修改編譯選項,將/MD或/MDd改為 /MT或/MTd,這樣就實現了對VC運行時庫的靜態鏈接,在運行時就不再需要VC的dll了。
方法三:(推薦)
工程-》屬性-》配置屬性-》常規-》MFC的使用,選擇“在靜態庫中使用mfc”,這樣生成的exe文件應該就可以在其他機器上跑了。
方法四:
你的vc8安裝盤上找到再分發包vcredist_xxx.exe和你的程序捆綁安裝。
新聞熱點
疑難解答