为什么我做的程序在别人电脑无法运行

ToddSong 2008-04-09 07:14:16
刚用MFC做了各计算器的小程序,本来想给朋友炫一下。结果我把EXE文件从DEBUG拉出来发给朋友,朋友的电脑上就显示“没找到MFC42D.DLL,因此这个应用程序未能启动。” 这个不会是因为对方电脑没有装VC的缘故吧 在我的机子上显示一切正常啊

...全文
351 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
ZACHARYGUO 2011-03-21
  • 打赏
  • 举报
回复
谢谢噢。。。
awshome 2008-07-09
  • 打赏
  • 举报
回复
我也遇到你这样的问题了,不过,我用的 是VC2008 debug版本的 我写了一个ATL COM 小组件,就想试下再别人电脑上能否运行。不过我一时忘记了用release版本的了。
谁知我在别人电脑上注册这个dll时,竟然不能注册成功。我 就depend walker查了下,原来系统时没有ATL90.DLL和MFC90UD.DLL和MSVCR90D.DLL,刚好是debug版本程序需要的。我在在系统里搜索这此文件一个也没有找到。我安装了VC2008的运行库,却没有debug版本的文件,只有release版本的文件。
所以,解决这个办法的就是 :
1。把你电脑上的debug版本的dll拷到别人电脑上。后面的那个D代表debug版本的。
2。把你的程序弄成release版本的 。当然这个也需要别人电脑安装VC运行库,你的可能要安装VC6的吧!v
awshome 2008-07-09
  • 打赏
  • 举报
回复
我也遇到你这样的问题了,不过,我用的 是VC2008 debug版本的 我写了一个ATL COM 小组件,就想试下再别人电脑上能否运行。不过我一时忘记了用release版本的了。
谁知我在别人电脑上注册这个dll时,竟然不能注册成功。我 就depend walker查了下,原来系统时没有ATL90.DLL和MFC90UD.DLL和MSVCR90D.DLL,刚好是debug版本程序需要的。我在在系统里搜索这此文件一个也没有找到。我安装了VC2008的运行库,却没有debug版本的文件,只有release版本的文件。
所以,解决这个办法的就是 :
1。把你电脑上的debug版本的dll拷到别人电脑上。后面的那个D代表debug版本的。
2。把你的程序弄成release版本的 。当然这个也需要别人电脑安装VC运行库,你的可能要安装VC6的吧!
ToddSong 2008-04-12
  • 打赏
  • 举报
回复
果然CSND牛人多啊 !!
Eleven 2008-04-12
  • 打赏
  • 举报
回复
静态连接运行时库和MFC。在项目属性中可以配置。
用九思维探索 2008-04-10
  • 打赏
  • 举报
回复
楼主是新手,先多看看孙鑫的教程吧,WWW.XUNLEI.COM 搜索孙鑫教程
shakaqrj 2008-04-10
  • 打赏
  • 举报
回复
用release版本
bukkake 2008-04-10
  • 打赏
  • 举报
回复
学习了
yltao83 2008-04-10
  • 打赏
  • 举报
回复
简单,设成使用静态链接库就可以了。
也可把MFC42D.dll文件搜到后连同.exe文件一同发布。
晨星 2008-04-10
  • 打赏
  • 举报
回复
要么就只能把相应的DLL跟你的程序一起发布了。
晨星 2008-04-10
  • 打赏
  • 举报
回复
静态连接运行时库和MFC。在项目属性中可以配置。
hailan010 2008-04-10
  • 打赏
  • 举报
回复
这就是动态连接和静态连接的区别:
静态连接就是把需要的库函数放进你的exe之中,这样,在库函数文件不在的情况下,你的exe仍然可以使用到这个库函数。动态连接就与之相反,库函数不在exe之中,这样在运行时,就必须加载响应的dll,否则无法正常运行。
对我们的vc程序而言,如果运行环境没有对应的库文件存在(比如没有安装vc),为了仍然能够运行,就必须采用静态连接。
oakfire 2008-04-10
  • 打赏
  • 举报
回复
选择静态连接MFC 编译。
闪破风浪 2008-04-10
  • 打赏
  • 举报
回复
实在不行下载一个运行库安装后就可以了
rayland 2008-04-10
  • 打赏
  • 举报
回复
老问题
VS2005->Project(菜单)->你的Porject property->General->Project Defaults->Use of MFC-> Use MFC in a Static Library
VC6->Project(菜单)->Settings->General->Microsoft Foundation Classes->Use MFC in a Static Library
zaodt 2008-04-09
  • 打赏
  • 举报
回复

发布时使用 Release 模式:

『Build』菜单,『Set Active Configuration』,选择『Win32 Release』模式,F7

zhanghua4109 2008-04-09
  • 打赏
  • 举报
回复
你用release模式编译一个就可以了.或者把这个动态库复制过去.

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧