请教会不会出现这样的情况:建立一个工程,在本地运行是成功的

来源:百度知道 编辑:UC知道 时间:2024/05/16 19:32:00
可是一拿到别的机器上运行就会提示缺少文件
这样是什么原因
该如何处理
能解释下吗
我没有分了
谢谢!

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

可能是你没有把工程变成发行版本(Release)来编译, 在调试版本(Debug)下生成的程序会使用调试库, 而调试库一般只有在安装开发环境的机器上才有的, 将程序放到一个没有调试库的机器中, 就无法行动!

如果在没有装VC的机子上用,要编程成Release版本使用

楼主说的是工程编译通过还是编译后的程序运行?编译后的程序其他机器不能运行的话就是楼上几位的答案;工程如果在别的机器不能编译通过很可能你的工程包含了一些其他地方的头文件,没有出现在系统包含目录和工程目录,可以在VC工具--选项里面目录选项卡添加系统包含目录,或者在需要的地方指定头文件路径

别的机器VC安装有没有问题?