我遇到上述问题的过程是这样的:
在虚拟机里用vs2008调试控制台的程序,想要使这个程序在其他没有安装vs的机器上运行,所以生成Release版本的可执行程序,拷贝整个Release文件夹到信机器上,结果就遇到了如题目所提示的问题,找了很多资料,终于成功。
方法一:(我是用这个方法试验成功的)
在C:\Program Files\Microsoft Visual Studio 8\VC\redi
st\Debug_NonRedist\x86\Microsoft.VC80.DebugCRT 下找到了下列文件:
msvcm80d.dll
msvcp80d.dll
msvcr80d.dll
Microsoft.VC80.DebugCRT.manifest
把这几个文件拷贝到目标机器上,与运行程序同一文件夹或放到system32下,就可以运行那个程序了。
还有以下几种方法,我还没有试验。如果上述方法不行,可以试验一下。
提示:记得把程序添加过的.dll文件加入到Release文件夹中。
方法二:
修改编译选项,将/MD或/MDd 改为 /MT或/MTd,这样就实现了对VC运行时库的静态链接,在运行时就不再需要VC的dll了。
方法三:
项目-》属性-》配置属性-》常规-》MFC的使用,选择"在静态库中使用mfc"
这样生成的exe文件应该就可以在其他机器上跑了。而之前的选择是“使用标准的windows库”
方法四:
你的vc8安装盘上找到再分发包vcredist_xxx.exe和你的程序捆绑安装
参考过以下博客