请教会不会出现这样的情况:建立一个工程,在本地运行是成功的
可是一拿到别的机器上运行就会提示缺少文件
这样是什么原因
该如何处理
能解释下吗
我没有分了
谢谢!
会,一般出现这种情况有这么几种原因,一种就是楼上各位说的,没有用Release配置来编译,这时编译的程序会使用调试版本的运行库,而调试版本的运行库一般只会出现在安装了VC的机器上,所以会提示缺少文件。
第二种情况,有时你即使用Release编译了,放到别的机子上也可能会出现缺少某些文件的情况,这时,常常是因为你的程序需要的运行时库版本高于该机器上已经存在的版本,因为会提示找不到文件。比如,用VC++2003编译的程序,需要运行库msvcr71.dll,VC++2005编译的程序需要的运行库是msvcr80.dll,因为有些操作系统就没有这些文件,所有程序在这些系统上运行就会提示找不到文件。另外,vc++2003和vc++2005及以上版本的IDE编译出来的MFC程序,也需要更高的MFC运行库,倒霉的是这些库很多系统上都没有,所以也会出现找不到文件的情况。
解决方法很简单,对于sdk的程序,你可以把编译选项调整为"/MT"(多线程)或"ML"(单线程)(在“代码生成”项里调整),对于MFC的程序,在“常规”中的“MFC的使用”调整成“在静态库中使用 MFC”就行了。采取这些方法的代价就是,生成出来的程序要大一些。
阅读(930) | 评论(0) | 转发(0) |