在VC8.0中编译Release版本的程序在其他机器上无法正常运行的原因
使用 C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\Bin\Depends.Exe 查看一下你的程序用到了哪些DLL,如果缺少某个 DLL ,程序是无法正常运行的。
例如:Win32程序(使用Windows标准库),如果是
/MD 编译的程序,那么使用Depends.exe会发现其中需要 USER32.DLL、KERNEL32.DLL、GDI32.DLL、MSVCR80.DLL 等文件支持。像前3个DLL文件是Windows系统自带的,我们不用去考虑它(除非你在程序中使用的API,windows版本不支持)。 MSVCR80.DLL 需要注意一下的,
我就一个程序文件,当然我是不想再放一个 MSVCR80.DLL 文件在我的安装包中,我用
/MT 编译程序(静态连接),
这时就不需要这个DLL文件了.(如果有多个程序模块,还是把 MSVCR80.DLL 加上吧,这样也可减少各模块的体积。)
如果程序中用到了 MFC 、ATL, 可以修改项目属性配置中的“MFC、ATL的使用方式”。