Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1348079
  • 博文数量: 81
  • 博客积分: 10060
  • 博客等级: 上将
  • 技术积分: 2366
  • 用 户 组: 普通用户
  • 注册时间: 2006-10-17 14:44
文章分类
文章存档

2009年(6)

2008年(75)

我的朋友

分类: C/C++

2008-04-17 16:08:59

今天用sdk些窗口,真是痛苦啊。。痛苦。。界面惨不忍睹,好不容易搞个窗口,要到虚拟机上测试,结果出现一个错误:
 
”由于应用程序的配置不正确,应用程序未能启动“
 
莫非需要安装net2.0?我是使用vs2005编译的。不过奇怪的是,我用release也是这样,vc6的release是无需带dll的啊!
 
后来找了下资料,发现真的是缺少DLL的原因,解决方法如下:
 
方法一:
在类似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下相应文件夹下的文件就可以了,文件夹后都有标识!

方法二:
工程-》属性-》配置属性-》c/c++ -〉代码生成里,修改运行时库选项,将/MD或/MDd 改为 /MT或/MTd,这样就实现了对VC运行时库的静态链接,在运行时就不再需要VC的dll了。

方法三:

工程-》属性-》配置属性-》常规-》MFC的使用,选择“在静态库中使用mfc”
这样生成的exe文件应该就可以在其他机器上跑了。

方法四:

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

由于我是release版本,所以C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT这里找到相应的dll,一股脑拷到虚拟中,就没有问题,如果是mfc,atl等,则需要其他dll,我这里是sdk,所以crt部分就足够了。抗议下。。
阅读(2560) | 评论(0) | 转发(0) |
0

上一篇:流水帐

下一篇:抽筋中

给主人留下些什么吧!~~