最近用vc2005写了一个程序,拷贝到其它机器上运行时,提示“由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。”。
觉得很奇怪,依赖的dll都有在,怎么会提示错误呢。马上上网用这个错误查了一下,大多数人说是编译选项的问题,以下是摘自http://bbs.mscommunity.com/forums/ShowThread.aspx?PostID=52760的解答:
在项目属性-〉配置属性-〉c/c++ -〉代码生成里,有一个运行时库,
.net 05 的默认选项是 多线程DLL,把他改成多线程即可。
后来我花了一些时间测试,发现也可以不用修改编译选项,只要将Program Files/Microsoft Visual Studio 8/VC/redist下相应平台的Microsoft.VC80.MFC.manifest和Microsoft.VC80.CRT.manifest拷贝到应用程序目录即可。如果你还用到了atl库,则还要Microsoft.VC80.ATL.manifest。
总结:解决这个问题目前我所知道的有两种方法,
1,修改项目属性,静态链接mfc库(静态链接时,会自动修改上面提到的多线程DLL为多线程)。
2,带上Microsoft.VC80.MFC.manifest和Microsoft.VC80.CRT.manifest。
注释:
我加上去第三条:发布vcredist_x86.exe文件
本文由VS软件圈(vssoft.net)发布,不代表VS软件圈立场,转载联系作者并注明出处:https://vssoft.net/vsazwt/VS2005anzhuangwenti/2020/0714/215.html