自己用C编写的程序生成的exe文件在别的机子怎么运行不了?

我用VC++2008写的程序,把文件夹里的生成的exe文件发给别人,别人怎么运行不了?那要怎么弄成静态连接呢?... 我用VC++ 2008写的程序,把文件夹里的生成的exe文件发给别人,别人怎么运行不了?
那要怎么弄成静态连接呢?
展开
 我来答
yujianhengxing
2009-09-13 · TA获得超过188个赞
知道答主
回答量:35
采纳率:0%
帮助的人:0
展开全部
其实一般在编程序时,都是生成了调试版的程序,就是在那个Debug目录下的可执行文件。运行这调试版的exe文件,都会动态连接 MFC42D.DLL和MSVCRTD.DLL这两个文件,所以你如果将这个文件在其它机器上运行而这台机器没有这两个文件或者缺少一个,系统则会出现: “找不到所需.dll文件-某某.dll”这样的提示。而一般系统都不带有这两个文件,除非是装了vc等。解决方法很简单:1,选择菜单build->Set Active Configuration,然后选择Release, 2,选择菜单project->settings,在General选项卡里第一项选择Use MFC in a static Library,即静态连接其实这就是生成了发布版程序,在Release目录下,可执行文件不会用到那两个讨厌的dll文件,一般到别的机器上都能用,试试吧!

OK,我照做了,写了另一个程序,然后到处找人做实验。结果是正确的。当对方机子上有VC时,我们用DEBUG和动态链接库编的程序是可以用的;否则,就会提示出错,只能用Release和静态链接。因此,要做一个通用的程序,就必须用发布版。
gxlijunbao
2009-09-13 · TA获得超过176个赞
知道答主
回答量:141
采纳率:0%
帮助的人:81万
展开全部
不同的机器可能它门用的库不一样,c语言的可移植是一次编写多次编译
你的饿代码没问题的话,你把代码发给他,让他从新编译就可以了 ,或者弄成静态连接也可以,动态联接是在运行时才连接库的,静态是编译的时候就连接库进程序
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
民狐凳7693
2009-09-13 · TA获得超过109个赞
知道答主
回答量:95
采纳率:0%
帮助的人:82.3万
展开全部
因为别人的电脑没有运行exe文件的权限或他人的操作系统中缺少必要的元素 如windows sdk、mfc等。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
keyiwenwo
2009-09-13 · TA获得超过8871个赞
知道小有建树答主
回答量:993
采纳率:100%
帮助的人:1049万
展开全部
把运行库也编近来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
蓝色水天160
2009-09-13 · 超过42用户采纳过TA的回答
知道小有建树答主
回答量:197
采纳率:0%
帮助的人:126万
展开全部
你弄成静态的就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式