VS2013生成Release版本MFC程序在其他机器上运行

对于自己机器安装了VS开发环境,生成MFC的exe文件能够在自己机器上运行,复制到其他目标机器可能出现不能运行的情况。下面就个人经历将发布的两中情况简要说明。

1、工程属性中:配置属性-常规,MFC使用类型选择“在共享的DLL中使用MFC”;C/C++ - 代码生成-MFC的使用 选择“多线程DLL(/MD)”
这种情况下,若直接将exe文件放到目标机器运行,则需要目标机器安装相应的开发平台、或者将生成exe程序的依赖dll文件复制到目标机器的程序运行目录下;若用到第三方库,也要复制相应的dll文件。其中依赖的dll文件可以通过Dependency查看。
简单的说,若选择这种方式,需要和exe程序和所有需要的系统和第三方dll文件一起打包。

2、工程属性中:配置属性-常规,MFC使用类型选择“在静态库中使用MFC”;C/C++ - 代码生成-MFC的使用 选择“多线程(/MT)”
这种情况下,exe程序中已经包含了开发平台单独需要的dll文件。若不包含第三方库,可以将exe复制到目标机器直接运行了;若包含第三方库,需要将第三方的dll文件复制到程序运行目录。
简单的说,这种方式下,仅需要exe程序和用到的第三方dll文件一起打包即可。相对第一种方式,第二种方式生成的exe文件占用空间要大一些。

用户可以根据实际情况选择发布的方式。

原文地址:https://www.cnblogs.com/sea520/p/12582304.html

时间: 2024-10-10 09:14:20

VS2013生成Release版本MFC程序在其他机器上运行的相关文章

vs2013编译的程序在其他机器上运行的环境设置

vs2013编译的程序在其他没有安装vs2013的机器上运行会有问题,网上有很多解决方法,如果你还没有解决,可以尝试以下方法,这是我在反复崩溃,烦躁测试后得到的解决方法. 1. 安装vs2013 运行包 vcredist_x64.exe 如果这个时候还是不能正常执行,请不要和我一样崩溃, 试试我的解决方法,对这个运行包进行修复 控制面板--程序--程序和功能 在程序列表里找到 vc++ 12.0.30501 选中,修复 这样就可以打开vs2013编译出来的程序了,我碰到的情况是这样解决的. ==

C#.NET常见问题(FAQ)-如何生成release版本的程序,生成debug版本的程序

除了右击项目在生成中配置改成Release还要在顶部切换成Release ? ? 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123 ? 我的在线论坛: http://csrobot.gz01.bdysite.com/ ? 问题交流: QQ:910358960 邮箱:[email protected] ? ?

让VC编译的Release版本程序在其他机器上顺利运行

链接的时候分静态链接和动态链接两种. 静态连接的话,基本上就不需要向目标机器拷贝附加的文件了,方法如下: 1.修改编译选项,将/MD或/MDd 改为 /MT或/MTd,这样就实现了对VC运行时库的静态链接,在运行时就 不再需要VC的dll了. 2.工程->属性->配置属性->常规->MFC的使用,选择“在静态库中使用mfc”. 动态连接的话,需要在目标机器上拷贝mfc所依赖的动态库.根据你使用的VC版本不同而不同: VC6的话,一般包括mfc42.dll.msvcrt.dll.ms

MFC程序逆向 – 消息篇(上)

标 题: [原创]MFC程序逆向 – 消息篇(上)+(下) 11楼作 者: szdbg时 间: 2007-10-31,06:26:02链 接: http://bbs.pediy.com/showthread.php?t=54150 前言:记得前一段时间,我刚接触软件破解和逆向这一行时,对于一些软件不知从何处跟踪按钮消息,试了好多方法,就是断不下来,在系统模块中经常转得晕头转向,而一无所获. MFC程序是一种常见类型的程序,我静下心来,潜心研究了一下MFC消息流程.弄清原委之后,一切豁然开朗,发现

在没装VS2010的机器上运行VS2010开发的C++程序

在VS2010下写了一个win32控制台应用程序,编译ok.exe,需要依赖osg相关动态库 第一次编译的是Debug版本的,直接将ok.exe和osg相关dll文件拷贝到没有安装VS2010机器上运行,报错 “.....计算机中丢失MSVCR100D.DLL...” 解决方法: 1.不能使用Debug编译,需要编译Release版本 2.在没装VS2010的机器上安装vcredist_x86.exe,这个文件可以在http://www.microsoft.com/zh-CN/download/

VS2012编译出来的程序,在XP上运行,出现“.exe 不是有效的 win32 应用程序” “not a valid win32 application”

升级vs2010到vs2012,突然发现build出来的应用程序无法运行,提示“不是有效的 win32 应用程序” or “not a valid win32 application”. 参考CSDN论坛中的方法,找到下面这篇文章: http://blogs.msdn.com/b/vsnetsetup/archive/2012/10/16/setup-exe-is-not-a-valid-win32-application.aspx You would receive the below err

简单C程序在IA-32 CPU上运行过程的分析

本文将通过编译器生成的汇编代码分析C程序在IA-32体系PC上的运行流程 实验环境: gcc 4.8.2 C语言程序的内存结构 C代码如下 int g(int x) { return x + 1; } int f(int x) { return g(x); } int main(void) { return f(2) + 3; } 使用编译命令gcc -S -O0 -o main.s main.c -m32编译出汇编文件,如下 g: pushl %ebp movl %esp, %ebp movl

[转]VS2015编译的程序在其他机器上缺少msvcp120.dll

http://www.lai18.com/content/1159618.html 1. 今天分享一个自己在开发过程中遇到的困难. 用VS2015开发了一个windows客户端(win32项目),在自己的机器上运行很流畅.当你得意的把releas版本进行打包,并进行发布后,问题来了?很多人反馈运行时缺少msvcp140.dll,甚至有人在XP系统上完全不能用. 那么首先看看是如何解决的: 在工程上打开属性,选择C/C++,选择代码生成,把运行库改为"多线程(/MT)".重新编译即可.

【转】VS2012编译出来的程序,在XP上运行,出现“.exe 不是有效的 win32 应用程序” “not a valid win32 application”

原文网址:http://www.cnblogs.com/Dageking/archive/2013/05/15/3079394.html VS2012编译出来的程序,在XP上运行,出现“.exe 不是有效的 win32 应用程序” “not a valid win32 application” 升级vs2010到vs2012,突然发现build出来的应用程序无法运行,提示“不是有效的 win32 应用程序” or “not a valid win32 application”. 参考CSDN论坛