VC2010写的程序打包时还需要加上一些VC2010的DLL吗?

时间:2022-09-07 13:26:14
我用VC2010写的一个程序,打包并给客户使用。在XP上运行正常。但在WIN7上提示少了DLL,好像是提示缺少MFC100U.dll, msvcr100.dll这样的文件。
以前VC6写的程序都不要打包额外的DLL的,怎么现在VC2010要加上这些额外的DLL呢?另外XP上竟然又不需要加这些DLL。

13 个解决方案

#1


你编译时,可以选择静态库中使用MFC

#2


引用 1 楼 shen_wei 的回复:
你编译时,可以选择静态库中使用MFC


在哪里设置哦?

#3


嗯。如果是动态链接的,就需要额外提供这些动态库(因为这些库并不像kernel32、user32、gdi32一样每个电脑上都有)。
在VS2010安装目录下:VC\redist目录下有针对各平台的VS2010的运行时库。或者让客户自己去网上下载“Microsoft Visual C++ 2010 可再发行组件包”并安装。
通过DEPENDS工具可以查看你的程序依赖哪些动态库。

#4


工程 属性 常规 MFC的使用

#5


引用 4 楼 shen_wei 的回复:
工程 属性 常规 MFC的使用


谢谢,我找到了。一般用哪种比较好呢?

#6


用静态的。。不需要对方机器安装.net环境!

#7


引用 6 楼 shen_wei 的回复:
用静态的。。不需要对方机器安装.net环境!


运行vs2010开发的MFC的程序,必须安装.net环境?和vs2005、vs2008不一样,改了?

#8


1:下载安装vc2010发布包。
2:用depend查看你的程序引用的vc2010的相关DLL,拷贝并打包即可。

#9


呵呵,我一般都是将那些缺少的DLL都打包进去,就是第一次找这些DLL费劲些 VC2010写的程序打包时还需要加上一些VC2010的DLL吗?

#10


不推荐使用静态编译,尤其对于大工程来说。就算是一个很小的改进,也要进行整个工程的编译。

对于小工程来说,为了程序发布方便或安装制做简单的需要可以使用静态编译的方式。

#11


再看看打包技术吧

#12


把运行缺少的DLL 放在打包文件里

#13


引用 楼主 frequent 的回复:
我用VC2010写的一个程序,打包并给客户使用。在XP上运行正常。但在WIN7上提示少了DLL,好像是提示缺少MFC100U.dll, msvcr100.dll这样的文件。
以前VC6写的程序都不要打包额外的DLL的,怎么现在VC2010要加上这些额外的DLL呢? 另外XP上竟然又不需要加这些DLL


可能在你测试的这个XP系统上 已经存顾MFC100U.dll, msvcr100.dll 这些文件了
换一个纯净的XP系统试试

#1


你编译时,可以选择静态库中使用MFC

#2


引用 1 楼 shen_wei 的回复:
你编译时,可以选择静态库中使用MFC


在哪里设置哦?

#3


嗯。如果是动态链接的,就需要额外提供这些动态库(因为这些库并不像kernel32、user32、gdi32一样每个电脑上都有)。
在VS2010安装目录下:VC\redist目录下有针对各平台的VS2010的运行时库。或者让客户自己去网上下载“Microsoft Visual C++ 2010 可再发行组件包”并安装。
通过DEPENDS工具可以查看你的程序依赖哪些动态库。

#4


工程 属性 常规 MFC的使用

#5


引用 4 楼 shen_wei 的回复:
工程 属性 常规 MFC的使用


谢谢,我找到了。一般用哪种比较好呢?

#6


用静态的。。不需要对方机器安装.net环境!

#7


引用 6 楼 shen_wei 的回复:
用静态的。。不需要对方机器安装.net环境!


运行vs2010开发的MFC的程序,必须安装.net环境?和vs2005、vs2008不一样,改了?

#8


1:下载安装vc2010发布包。
2:用depend查看你的程序引用的vc2010的相关DLL,拷贝并打包即可。

#9


呵呵,我一般都是将那些缺少的DLL都打包进去,就是第一次找这些DLL费劲些 VC2010写的程序打包时还需要加上一些VC2010的DLL吗?

#10


不推荐使用静态编译,尤其对于大工程来说。就算是一个很小的改进,也要进行整个工程的编译。

对于小工程来说,为了程序发布方便或安装制做简单的需要可以使用静态编译的方式。

#11


再看看打包技术吧

#12


把运行缺少的DLL 放在打包文件里

#13


引用 楼主 frequent 的回复:
我用VC2010写的一个程序,打包并给客户使用。在XP上运行正常。但在WIN7上提示少了DLL,好像是提示缺少MFC100U.dll, msvcr100.dll这样的文件。
以前VC6写的程序都不要打包额外的DLL的,怎么现在VC2010要加上这些额外的DLL呢? 另外XP上竟然又不需要加这些DLL


可能在你测试的这个XP系统上 已经存顾MFC100U.dll, msvcr100.dll 这些文件了
换一个纯净的XP系统试试