在未安装VS2005的机器上运行VS2005编译的C++程序

原创 2006年06月08日 23:53:00
1. 问题描述:

最近在VS2005下用C++写了一个Console程序,在一台未安装VS2005的机器上不能正常运行。
用命令行方式运行,提示:
“系统无法执行指定的程序”
直接双击运行,提示:
“由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题”

用VC6和VS2003也有这个问题,只不过会提示说找不到“***.dll”,把需要的dll拷贝到目标机器就可以正常运行了。而VS2005并没有提示缺少哪些dll。

2. 解决方案:

在水木C++版请教了一下,ass做出了回答(非常感谢ass的帮助)。把他的回答摘录如下,大家共同学习:

“因为没有msvcr80.dll
可以改一下编译选项 多线程dll(/MD)改成多线程(MT)这样就静态链接,
也可以从你的vc8安装盘上找到再分发包vcredist_xxx.exe和你的程序捆绑安装。”

根据ass指导的思路,自己实验了一下,感觉以下两种解决办法是比较方便的:

方法一:
在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下,就可以运行那个程序了。

方法二:
修改“C++/Code Generation”中的运行时库选项,将/MD或/MDd 改为 /MT或/MTd,这样就实现了对VC运行时库的静态链接,在运行时就不再需要VC的dll了。

相关文章推荐

如何在其他电脑上运行VS2005编译的DEBUG版应用程序

做项目的过程中,遇到这样的问题:在自己的电脑上用VS2005编译好的DEBUG版程序在其它的没有安装VS2005的电脑上没有办法运行,郁闷至极啊。 直 接拷贝文件后,错误信息如下:"This ap...

vs2005程序发布:静态编译或动态编译生成安装包

1 静态编译 打开工程属性页面,如下两图所示进行设置: 如果出现警告可如下进行设置: warning LNK4098: defaultlib 'LIBCMT' conflicts with ...

vs2005 生成的应用程序 在win7下以管理员权限运行

在开启UAC的时候,在win7中执行程序默认是以一种权限较低的方式执行的,但是在这种方式下,我们有些操作会失败(比如修改注册表,监听端口,往系统目录写入文件等),要实现这些操作,就需要我们以管理员权限...

vs2005 vc++ 生成非托管的 不需要.net运行环境的exe程序方法

在VS2005里开发的VC++程序在编译的时候,微软默认会加入自己的 .Net Framework (方便推广自家产品),让你的VC++程序依赖它,这就导致程序编译后,无法跟往常一样直接打包,在别的机...

vs2005 运行程序 出现没有找到MSVCP80D.dll 解决方法

没有找到MSVCP80D.dll 解决方法 在VS 2005中建立Win32工程时(以VS 2005中文版为例),你可能会遇到这样的运行错误:“没有找到MSVCP80D.dll,因此这个应用...

为什么用vs2005平台运行C++的时候会显示 系统找不到指定路径?

原文链接:http://zhidao.baidu.com/question/218427182.htmlVS 2005在生成可执行文件时使用了一种新的技术,该技术生成的可执行文件会伴随生成一个清单文件...
  • xuwqcug
  • xuwqcug
  • 2011年07月20日 09:12
  • 650

在VS2005中使用VS2008编写的DLL在有些机器上无法运行解决办法

用VC2005编译的程序,编译时没有任何错误,但是运行时就是提示“应用程序正常初始化失败”!! 查找了各方面资料,做了各种尝试,网上说什么的都有:有让安装vc2005 sp1补丁的;有让安装vcred...

在windows 2003下安装VS2005 SP1补丁错误,未通过数字签名检查

今天在windows 2003下安装Vistaul Studio2005 SP1时,出现错误:错误1718文件 C:/Windows/Installer/3d31a06.msp未通过数字签名检查,有关...

VS2005+WINDDK+Driver Studio 3.2编译出第一个测试驱动程序(转载但有修正)

引自:http://www.cnblogs.com/Torres_fans/archive/2009/12/28/1634149.html 我希望的就是DDK(2600)+VS2005+DR...
  • kezhen
  • kezhen
  • 2012年03月25日 15:47
  • 1540
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在未安装VS2005的机器上运行VS2005编译的C++程序
举报原因:
原因补充:

(最多只允许输入30个字)