关于mfc写的程序发布问题 移植到没有mfc的环境下运行需要什么dll文件

luyue720 2008-09-28 08:54:21
如题,最好顺便教教我怎么发布程序,release版 和debug版相关的一些知识


谢谢了
...全文
457 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
luna52o 2008-10-02
  • 打赏
  • 举报
回复
发布 Release 版本即可,MFC 的动态链接库操作系统都已自带。
luyue720 2008-10-02
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 zaodt 的回复:]
楼主应该把你用的开发工具说清楚。


如果是 VC++6.0 的话,你只要发布 Release 版本即可,MFC 的动态链接库操作系统都已自带。


如果是 VC++8.0 的话,就需要自己带 mfc80.dll 了,因为操作系统都没有带;

当然,VISTA肯定是带了,因为它后发布的。


上面说的都是动态链接的。
[/Quote]
不好意思,没讲清楚,我用的是vs2008
douzexin1111 2008-10-01
  • 打赏
  • 举报
回复
使用depends工具
ssk148150105 2008-09-30
  • 打赏
  • 举报
回复
在没VC6的环境下运行,就得用release版了 不过要带上需要的几个DLL
hdqqq 2008-09-30
  • 打赏
  • 举报
回复
用depends 工具看一下
LIUMQX 2008-09-30
  • 打赏
  • 举报
回复
学习一下。
Fireway2008 2008-09-30
  • 打赏
  • 举报
回复
主要看你选择的开发工具的版本,建议用VC6 或 VC.net 或VS2008进行开发,
VS2008安装的时候要+支持文件:
windows补丁 WindowsInstaller-KB893803-v2-x86.exe
VS2008的Setup项目,会自动把程序所需要的DLL打包安装,组合成相关的支持文件夹。
babyyang1213 2008-09-30
  • 打赏
  • 举报
回复
用VC自带的DEPENDS.EXE就可以看了。如果是VC6编的,编成Release一般就可以了。
sunlin7 2008-09-30
  • 打赏
  • 举报
回复
VS2005之后的runtime 和mfc,alt支持库必须安装,直接拷贝相应文件放到程序一起是不能使用的。你可以在VS的目录里面找redist的安装文件或者到MS网站上去下载,在用户运行安装文件时自动运行redist安装文件就行了。
路儿 2008-09-30
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 ssk148150105 的回复:]
在没VC6的环境下运行,就得用release版了 不过要带上需要的几个DLL
[/Quote]
如果选择“Use MFC in a Shared DLL”,就不需要其它DLL了,若是“Use MFC in a Shared DLL”
则需要同时发布“MFC42D.DLL,MFCO42D.DLL,MSVCRTD.DLL”三个DLL。
adriano119 2008-09-29
  • 打赏
  • 举报
回复
release版 是发布版
debug版是调试版

要想在没VC的环境下运行,就得用release版了
不过要带上需要的几个DLL
laomig 2008-09-29
  • 打赏
  • 举报
回复
VC最简单的方法就是静态链接,静态链接如果成功则只需要一个EXE文件就可以了运行了,注意将你链接的非VC提供的类库注明在工程属性里面.
zaodt 2008-09-29
  • 打赏
  • 举报
回复
楼主应该把你用的开发工具说清楚。


如果是 VC++6.0 的话,你只要发布 Release 版本即可,MFC 的动态链接库操作系统都已自带。



如果是 VC++8.0 的话,就需要自己带 mfc80.dll 了,因为操作系统都没有带;

当然,VISTA肯定是带了,因为它后发布的。



上面说的都是动态链接的。
qgw_2000 2008-09-28
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 cnzdgs 的回复:]
利用Depends工具可以查出程序需要哪些DLL。
[/Quote]
如6楼所说。
luyue720 2008-09-28
  • 打赏
  • 举报
回复
能不能不借助第三方工具查看用了哪些dll啊,我的是vs2008,英文的,看着头疼
xsc2001 2008-09-28
  • 打赏
  • 举报
回复
VC6写的程序,只要发布成Release版本就可以在没有安装VC的机器上运行。
如果是VC6以上版本,如VC2003,2005的代码在发布时选择Release版,并静态链编,这样就可以了。
cnzdgs 2008-09-28
  • 打赏
  • 举报
回复
如果你只要少数几个程序,把MFC和运行库都用静态的就可以了。如果程序很多,想要节省磁盘空间,可以用共享DLL的方式,利用Depends工具可以查出程序需要哪些DLL。如果你用打包工具制作安装包,例如VS的Setup项目,会自动把程序所需要的DLL打包安装。
jameshooo 2008-09-28
  • 打赏
  • 举报
回复
用专业安装包制作软件什么都不用担心,比如InstallShield、Wise
qgw_2000 2008-09-28
  • 打赏
  • 举报
回复
Visual Studio安装目录下有个redist目录,里面是需要重新发布的文件。
我用的是Visual Studio 2005,目录在
C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86
里面有ATL,运行时库(CRT),MFC和OPENMP的库文件。
你可以根据你实际的依赖将这行文件和你的应用程序一起打包发布。
nostopping 2008-09-28
  • 打赏
  • 举报
回复
顶一下,高手指点呀.
加载更多回复(2)

16,472

社区成员

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

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

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