icewindyman 发表于 2011-7-8 10:01:00

用VC写完的程序exe的,拿到别人的电脑上怎么就各种缺少dll文件呢

自己写了个小程序,自己电脑上能用 拿到没有vc环境的电脑上就用不了,显示没有找到各种.dll文件
比如http://cache.amobbs.com/bbs_upload782111/files_42/ourdev_655816T94DND.jpg
(原文件名:未命名.jpg)

我用的debug模式

wowbanui 发表于 2011-7-8 10:06:46

选择静态链接 -> 把所有东西都打包到程序里, 程序个子较大
或者
在目标机器上安装 VC++ RunTime 运行库

ffeige1984 发表于 2011-7-8 10:07:16

使用静态库 你使用的动态库 可以吧这个文件和你的EXE文件一起拷过去

wowbanui 发表于 2011-7-8 10:12:31

一般不会缺这一个文件, 视乎你VC中MFC的版本, 可能还缺 MFCxx.dll, 如果是debug版可能是 MFCxxd.dll, Unicode 版可能是 MFCxxu.dll
还有可能MSVCRT.dll, MSVCRxx.dll

(xx代表版本号)

NeXToNe 发表于 2011-7-8 10:17:32

dynamic link lib 没有同时拷贝过去

armlxy 发表于 2011-7-8 10:19:25

你编译的时候是debug还是relese?

icewindyman 发表于 2011-7-8 10:26:45

回复【5楼】armlxy
-----------------------------------------------------------------------

用的debug

zc3909 发表于 2011-7-8 10:41:25

为什么不发布relese?

wowbanui 发表于 2011-7-8 11:16:05

发布release如果是用动态库一样要dll

icewindyman 发表于 2011-7-8 16:15:12

回复【7楼】zc3909
-----------------------------------------------------------------------

介个……第一次用这个编程序,不会release的,用的时候出现了7个链接错误 不会修改

maxbiger 发表于 2011-7-8 16:29:58

只要 release 编译就可以了

在学校没学过么???

yulri 发表于 2011-7-27 19:14:33

用release模式,或打包所有运行库!

teamo29 发表于 2011-7-29 19:03:56

用release模式编译后在c盘找到 那几个dll文件就可以啦。。。。

usecool 发表于 2011-7-29 23:41:47

Microsoft Visual c++ (xxxx) Redistributable

xxxx:版本等,比如2005,2008,2010

很多时候只需要这个的安装包,安装下就可以了。

另:不要debug方式发布。

sunnyhook 发表于 2011-7-30 00:23:54

原来VC这么麻烦啊,我用Delphi编程序,一般只生成一个EXE文件,乱七八糟的VCL控件都编译进去了,直接拷贝到别人的电脑上就能用,而且不用什么支持库、运行库、还有.net组件之类的。
如果用VC最好还是打包一下发布比较好,最好是能用系统API解决的,尽量不要调用DLL,免得发布时比较麻烦。

t3486784401 发表于 2011-7-30 00:31:49

回复【9楼】icewindyman
-----------------------------------------------------------------------

RELEASE模式+静态库就行了吧

http://cache.amobbs.com/bbs_upload782111/files_43/ourdev_662048JHPWLP.jpg
RELEASE模式 (原文件名:1.jpg)

http://cache.amobbs.com/bbs_upload782111/files_43/ourdev_662049BFZR1S.jpg
工程属性里改的静态MFC库 (原文件名:2.jpg)

P.S. 我的是VS2005

ABao.oO 发表于 2011-7-31 08:49:15

用VC6吧,不太会有这个问题,哈哈

john78 发表于 2011-7-31 09:01:28

VC6也一样的,要使用静态连接.

john78 发表于 2011-7-31 09:02:34

可以把你机器上的这个DLL一起COPY.如果是DEBUG,可能需要三四个DLL的

flyunlimit 发表于 2011-7-31 09:03:12

我同事是把可能需要的dll都放到一个程序的子文件夹里,和软件一起还有一个批处理文件,如果客户运行有问题,就让他运行一下批处理,把dll拷到\system32下。

tuoya220 发表于 2011-8-7 22:34:46

在公司做完项目后,都是发给客户RELEASE版本的。里面是静态编译版本,我是用VC6.0开发的

liuyong053 发表于 2011-8-15 11:16:59

可能控件需要注_册
页: [1]
查看完整版本: 用VC写完的程序exe的,拿到别人的电脑上怎么就各种缺少dll文件呢