您的位置:首页 > 其它

解决“#error directive: Please use the /MD switch ...和“由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题”

2010-03-08 16:18 1096 查看
解决"#error directive: Please use the /MD switch ...

解决"#error directive: Please use the /MD switch for _AFXDLL builds"

在stdafx.h中加入:

#ifdef _AFXDLL

#undef _AFXDLL

#endif

转自:http://blog.chinaunix.net/u3/104335/showart_2061490.html

解决"由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题"

转自:/article/4857052.html

[VS2005]解决"由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题"

今天在准备发布用VS2005写的那个程序时,拷贝到我同事机器上,双击突然出现了"由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题",这个问题很让我意外,以前只出现过缺少DLL的情况,而这次出现这个问题,让我一时没办法。想想,无非是两个原因引起的,要么是他没有安装VS2005的原因,要么是我的程序里依赖了其它的一些库。于是百度一下,发现好多相关主题。我是按照这个帖子解决的:

在VS2005下用C++写的程序,在一台未安装VS2005的系统上,

用命令行方式运行,提示:

"系统无法执行指定的程序"

直接双击运行,提示:

"由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题"

以前用VC6和VS2003的话, 如果缺少库文件,是会提示缺少"**.dll",但是用VS2005却没有这样的提示。

自己实验了一下,感觉以下几种解决办法是可行的:

方法一:

在类似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下,就可以正确运行了。

其他release版、MFC程序什么的都是拷redist下相应文件夹下的文件就可以了,文件夹后都有标识!

方法二:

修改编译选项,将/MD或/MDd 改为 /MT或/MTd,这样就实现了对VC运行时库的静态链接,在运行时就不再需要VC的dll了。

方法三:

工程-》属性-》配置属性-》常规-》MFC的使用,选择"在静态库中使用mfc"

这样生成的exe文件应该就可以在其他机器上跑了。

方法四:

你的vc8安装盘上找到再分发包vcredist_xxx.exe和你的程序捆绑安装

Powered by Zoundry Raven
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐