分隔線以上為轉載:
問題:vc2005里面編譯的程序 在xp下運行報
"由于應用程序配置不正確,應用程序未能啟動。重新安裝應用程序可能會糾正這個問題。"
起因: 代碼以前是用vc6寫的 后來用vc2005 直接升級使用。
分析:見ck寫的 http://www.panzhishi.com/classyk/article.asp?id=4
看了 ck的文章 照著他的方法 還不行,丫 難道人品問題。后來又找到一篇文章說 加個 #undef _AFXDLL 呵呵 還真行
解決方法:
-
改變運行時庫 多線程(/mt)
-
在stdafx.h頂上面 加 #undef _AFXDLL
剛剛在網上看到一個文章 講得很細 http://www.cnblogs.com/riky/archive/2007/05/11/743310.html 還沒試過
再次發現: 帶上必要的dll 再帶上Microsoft.VC80.MFC.manifest Microsoft.VC80.CRT.manifest 可以運行。。不曉得正確與否。
-----------------------------------------------------華麗的分隔線----------------------------------
遇到這個問題了,網上一般的說法就像上面的,但是在我的機器上試了很久也沒解決。
我的情況如下:因為VS2005 SP1編譯出來的程序需要運行庫支持(Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86\vcredist_x86.exe),而又不想帶上它,所以把VS2005降為無補丁版,重新生成了項目,結果還會提示上面的錯誤,安裝了帶SP1版本的運行庫馬上運行正常,看來還是項目里面用到了SP1的運行庫,可以項目都是用不帶補丁的版本重新生成的,怎么還要用到SP1的運行庫呢,經過了大半天的測試,終于找到了原因,原來項目里面引用了幾個LIB庫,是原來用SP1版本的編輯器生成出來的,即使重新生成的項目,也還是需要SP1版本的運行庫支持的。
重新編譯所有的LIB文件,重新生成項目,連接,在沒有安裝SP1運行庫的機器上運行,一卻正常
posted on 2009-02-12 14:45
似水之心 閱讀(30420)
評論(13) 編輯 收藏 引用