分隔线以上为转载:
问题: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
似水之心 阅读(30404)
评论(13) 编辑 收藏 引用