出现这个问题的原因如下:
用VS2005下用C++写的程序,在一台未安装VS2005的系统上,用命令行方式运行,提示:
“系统无法执行指定的程序”。直接双击运行,提示:“由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题”的解决办法:
以前用VC6和VS2003的话,
如果缺少库文件,是会提示缺少“**.dll”,但是用VS2005却没有这样的提示。
自己实验了一下,感觉以下几种解决办法是可行的:
方法一:
在类似C:\ProgramFiles\Microsoft Visual Studio 8\VC\redi
st\Debug_NonRedist\x86\Microsoft.VC80.DebugCRT 下找到了下列文件:
msvcm80d.dll
msvcp80d.dll
msvcr80d.dll
Microsoft.VC80.DebugCRT.manifest
把这几个文件拷贝到目标机器上,与运行程序同一文件夹或放到system32下,就可以正确运行了。
其他release版、MFC程序什么的都是拷redist下相应文件夹下的文件就可以了,文件夹后都有标识!
方法二:
修改编译选项,将/MD或/MDd
改为 /MT或/MTd,这样就实现了对VC运行时库的静态链接,在运行时就不再需要VC的dll了。
方法三: (推荐)
工程-》属性-》配置属性-》常规-》MFC的使用,选择“在静态库中使用mfc”,这样生成的exe文件应该就可以在其他机器上跑了。
方法四:
你的vc8安装盘上找到再分发包vcredist_xxx.exe和你的程序捆绑安装。
本文介绍了解决VS2005编译的C++程序在未安装VS2005的系统上无法运行的问题。提供了四种解决方法,包括复制必要的DLL文件、更改编译选项为静态链接、配置MFC使用静态库以及安装VC8再分发包。
1773

被折叠的 条评论
为什么被折叠?



