用VC写完的程序exe的,拿到别人的电脑上怎么就各种缺少dll文件呢
自己写了个小程序,自己电脑上能用 拿到没有vc环境的电脑上就用不了,显示没有找到各种.dll文件比如http://cache.amobbs.com/bbs_upload782111/files_42/ourdev_655816T94DND.jpg
(原文件名:未命名.jpg)
我用的debug模式 选择静态链接 -> 把所有东西都打包到程序里, 程序个子较大
或者
在目标机器上安装 VC++ RunTime 运行库 使用静态库 你使用的动态库 可以吧这个文件和你的EXE文件一起拷过去 一般不会缺这一个文件, 视乎你VC中MFC的版本, 可能还缺 MFCxx.dll, 如果是debug版可能是 MFCxxd.dll, Unicode 版可能是 MFCxxu.dll
还有可能MSVCRT.dll, MSVCRxx.dll
(xx代表版本号) dynamic link lib 没有同时拷贝过去 你编译的时候是debug还是relese? 回复【5楼】armlxy
-----------------------------------------------------------------------
用的debug 为什么不发布relese? 发布release如果是用动态库一样要dll 回复【7楼】zc3909
-----------------------------------------------------------------------
介个……第一次用这个编程序,不会release的,用的时候出现了7个链接错误 不会修改 只要 release 编译就可以了
在学校没学过么??? 用release模式,或打包所有运行库! 用release模式编译后在c盘找到 那几个dll文件就可以啦。。。。 Microsoft Visual c++ (xxxx) Redistributable
xxxx:版本等,比如2005,2008,2010
很多时候只需要这个的安装包,安装下就可以了。
另:不要debug方式发布。 原来VC这么麻烦啊,我用Delphi编程序,一般只生成一个EXE文件,乱七八糟的VCL控件都编译进去了,直接拷贝到别人的电脑上就能用,而且不用什么支持库、运行库、还有.net组件之类的。
如果用VC最好还是打包一下发布比较好,最好是能用系统API解决的,尽量不要调用DLL,免得发布时比较麻烦。 回复【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 用VC6吧,不太会有这个问题,哈哈 VC6也一样的,要使用静态连接. 可以把你机器上的这个DLL一起COPY.如果是DEBUG,可能需要三四个DLL的 我同事是把可能需要的dll都放到一个程序的子文件夹里,和软件一起还有一个批处理文件,如果客户运行有问题,就让他运行一下批处理,把dll拷到\system32下。 在公司做完项目后,都是发给客户RELEASE版本的。里面是静态编译版本,我是用VC6.0开发的 可能控件需要注_册
页:
[1]