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

时间:2021-06-11 10:02:46
如题,最好顺便教教我怎么发布程序,release版 和debug版相关的一些知识


谢谢了

22 个解决方案

#2


一般的话 选择  静态链接   所以不需要什么特别的dll的

如果是动态的话 需要包含一些的具体可以百度

#3


顶一下,高手指点呀.

#4


Visual Studio安装目录下有个redist目录,里面是需要重新发布的文件。
我用的是Visual Studio 2005,目录在
C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86
里面有ATL,运行时库(CRT),MFC和OPENMP的库文件。
你可以根据你实际的依赖将这行文件和你的应用程序一起打包发布。

#5


用专业安装包制作软件什么都不用担心,比如InstallShield、Wise

#6


如果你只要少数几个程序,把MFC和运行库都用静态的就可以了。如果程序很多,想要节省磁盘空间,可以用共享DLL的方式,利用Depends工具可以查出程序需要哪些DLL。如果你用打包工具制作安装包,例如VS的Setup项目,会自动把程序所需要的DLL打包安装。

#7


VC6写的程序,只要发布成Release版本就可以在没有安装VC的机器上运行。
如果是VC6以上版本,如VC2003,2005的代码在发布时选择Release版,并静态链编,这样就可以了。

#8


能不能不借助第三方工具查看用了哪些dll啊,我的是vs2008,英文的,看着头疼

#9


引用 6 楼 cnzdgs 的回复:
利用Depends工具可以查出程序需要哪些DLL。

如6楼所说。

#10


楼主应该把你用的开发工具说清楚。


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



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

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



上面说的都是动态链接的。

#11


VC最简单的方法就是静态链接,静态链接如果成功则只需要一个EXE文件就可以了运行了,注意将你链接的非VC提供的类库注明在工程属性里面.

#12


release版 是发布版
debug版是调试版

要想在没VC的环境下运行,就得用release版了
不过要带上需要的几个DLL

#13


VS2005之后的runtime 和mfc,alt支持库必须安装,直接拷贝相应文件放到程序一起是不能使用的。你可以在VS的目录里面找redist的安装文件或者到MS网站上去下载,在用户运行安装文件时自动运行redist安装文件就行了。

#14


主要看你选择的开发工具的版本,建议用VC6 或 VC.net 或VS2008进行开发,
VS2008安装的时候要+支持文件:
windows补丁    WindowsInstaller-KB893803-v2-x86.exe
VS2008的Setup项目,会自动把程序所需要的DLL打包安装,组合成相关的支持文件夹。

#15


学习一下。

#16


用depends 工具看一下

#17


在没VC6的环境下运行,就得用release版了 不过要带上需要的几个DLL

#18


引用 17 楼 ssk148150105 的回复:
在没VC6的环境下运行,就得用release版了 不过要带上需要的几个DLL

如果选择“Use MFC in a Shared DLL”,就不需要其它DLL了,若是“Use MFC in a Shared DLL”
则需要同时发布“MFC42D.DLL,MFCO42D.DLL,MSVCRTD.DLL”三个DLL。

#19


用VC自带的DEPENDS.EXE就可以看了。如果是VC6编的,编成Release一般就可以了。

#20


使用depends工具

#21


发布 Release 版本即可,MFC 的动态链接库操作系统都已自带。 

#22


引用 10 楼 zaodt 的回复:
楼主应该把你用的开发工具说清楚。 


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


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

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


上面说的都是动态链接的。

不好意思,没讲清楚,我用的是vs2008

#1


#2


一般的话 选择  静态链接   所以不需要什么特别的dll的

如果是动态的话 需要包含一些的具体可以百度

#3


顶一下,高手指点呀.

#4


Visual Studio安装目录下有个redist目录,里面是需要重新发布的文件。
我用的是Visual Studio 2005,目录在
C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86
里面有ATL,运行时库(CRT),MFC和OPENMP的库文件。
你可以根据你实际的依赖将这行文件和你的应用程序一起打包发布。

#5


用专业安装包制作软件什么都不用担心,比如InstallShield、Wise

#6


如果你只要少数几个程序,把MFC和运行库都用静态的就可以了。如果程序很多,想要节省磁盘空间,可以用共享DLL的方式,利用Depends工具可以查出程序需要哪些DLL。如果你用打包工具制作安装包,例如VS的Setup项目,会自动把程序所需要的DLL打包安装。

#7


VC6写的程序,只要发布成Release版本就可以在没有安装VC的机器上运行。
如果是VC6以上版本,如VC2003,2005的代码在发布时选择Release版,并静态链编,这样就可以了。

#8


能不能不借助第三方工具查看用了哪些dll啊,我的是vs2008,英文的,看着头疼

#9


引用 6 楼 cnzdgs 的回复:
利用Depends工具可以查出程序需要哪些DLL。

如6楼所说。

#10


楼主应该把你用的开发工具说清楚。


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



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

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



上面说的都是动态链接的。

#11


VC最简单的方法就是静态链接,静态链接如果成功则只需要一个EXE文件就可以了运行了,注意将你链接的非VC提供的类库注明在工程属性里面.

#12


release版 是发布版
debug版是调试版

要想在没VC的环境下运行,就得用release版了
不过要带上需要的几个DLL

#13


VS2005之后的runtime 和mfc,alt支持库必须安装,直接拷贝相应文件放到程序一起是不能使用的。你可以在VS的目录里面找redist的安装文件或者到MS网站上去下载,在用户运行安装文件时自动运行redist安装文件就行了。

#14


主要看你选择的开发工具的版本,建议用VC6 或 VC.net 或VS2008进行开发,
VS2008安装的时候要+支持文件:
windows补丁    WindowsInstaller-KB893803-v2-x86.exe
VS2008的Setup项目,会自动把程序所需要的DLL打包安装,组合成相关的支持文件夹。

#15


学习一下。

#16


用depends 工具看一下

#17


在没VC6的环境下运行,就得用release版了 不过要带上需要的几个DLL

#18


引用 17 楼 ssk148150105 的回复:
在没VC6的环境下运行,就得用release版了 不过要带上需要的几个DLL

如果选择“Use MFC in a Shared DLL”,就不需要其它DLL了,若是“Use MFC in a Shared DLL”
则需要同时发布“MFC42D.DLL,MFCO42D.DLL,MSVCRTD.DLL”三个DLL。

#19


用VC自带的DEPENDS.EXE就可以看了。如果是VC6编的,编成Release一般就可以了。

#20


使用depends工具

#21


发布 Release 版本即可,MFC 的动态链接库操作系统都已自带。 

#22


引用 10 楼 zaodt 的回复:
楼主应该把你用的开发工具说清楚。 


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


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

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


上面说的都是动态链接的。

不好意思,没讲清楚,我用的是vs2008