为啥我编译的MFC应用程序在其他电脑上不能运行?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥我编译的MFC应用程序在其他电脑上不能运行?相关的知识,希望对你有一定的参考价值。

参考技术A

为什么我编译的MFC应用程序在其他电脑上不能运行?

因为其他的电脑上没有相关的运行库,因此无法运行。 但可以这样解决,打开工程或项目的属性,在常规选项卡中设置:使用MFC作为静态链接库(不同版本的描述不尽相同,但都有静态两个字),设置后再编译就可以了。

如何在其他电脑上运行VS2005编译的DEBUG版应用程序

首先,通过菜单找到关于选项查询当前VS2005的版本,然后到自己电脑"$(Windows)/WinSxS/"目录下可以看到很多长长 名字的目录。第一个"_"前为平台,这里以x86为例,接下来找到带有"Microsoft.VC80.DebugCRT" 和"Microsoft.VC80.DebugMFC"字样的且包含上面版本号的目录。我的电脑目录如下:
x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_5490cd9f x86_Microsoft.VC80.DebugMFC_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_257740a4
将这两个目录拷贝到目标电脑的"$(Windows)/WinSxS/"位置,进入"$(Windows)/WinSxS/Manifests/"目录,用上面的方法找到四个文件并拷贝到目标电脑的相同目录中,我的电脑文件如下:
x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_5490cd9f.cat以及.manifest文件
x86_Microsoft.VC80.DebugMFC_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_257740a4.cat以及.manifest文件
最后一步,进入"$(Windows)/WinSxS/Policies/"目录,找到带有"Microsoft.VC80.DebugCRT"和"Microsoft.VC80.DebugMFC"字样的两个目录将其拷贝到目标电脑的相同目录,我的电脑目录如下:
x86_policy.8.0.Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_x-ww_09e017b4
x86_policy.8.0.Microsoft.VC80.DebugMFC_1fc8b3b9a1e18e3b_x-ww_a193936f
到 此,所有需要的文件都拷贝结束了,运行刚刚的应用程序,显示了我们熟悉的错误信息:"This application has failed to start because XXX.dll was not found. Re-installing the application may fix this problem."

编写好的C程序如何才能变成EXE应用程序在其他不装有C编译系统的电脑上运行?

这个要看你是用什么样的编译器
Win-TC\\projects的话 里头有编译好的 exe文件,不过复制出来以后就运行不了。因为TC是16位的,而WINDOWS是32位的
要是用vc6.0那就简单多了。
在“工程”->“设置”中的“常规”选项卡,
Microsoft基础类:
选择“使用MFC作为静态链接库”。
这样生成的EXE文件可以在没有安装VC++的电脑上运行了。
生成的EXE文件在Debug或者Release文件夹下。
其他的编译器我不清楚

VC编译的Win32应用程序不能在Windows 7运行,win32应用程序是什么,为什么叫Win32有点莫名其妙

Windows 32位应用程序。
你一定用了什么非开放的API接口,所以不能用。

电脑C盘里的应用程序能不能防在其他盘里运行啊

可以,但你得修改路径,注册表,非常麻烦,如果是单个的程序,你可以找到启动的图标然后发送到桌面.系统程序一般还是不要乱动,别把除了系统程序之外的程序或软件给C盘安装,很容易感染C盘中毒的

在VS2005中用VC#编译的程序为什么在其他机器运行不了?

编好后当然不能就直接用了,要对程序进行打包:创建项目→项目类型→其他类型→安装和部署→安装向导。

为什么Qt编译的程序不能在XP上运行

使用qt5.7以下的版本,在xp下依赖库和其他操作系统不同,好像有个windows.dll

MFC生成的exe程序不能在其他电脑上运行怎么办

depend。exe 查一查你的程序依赖那些dll copy过去,否则请 静态 + release 重新编译

在其他店(电脑城里的)下载应用程序后 为什么无法从电脑itunes上下载应用程序到iphone

首先,你需要注册账户(详细教程::hi.baidu./wongstephanie/blog/item/4d57da14168f4bd9c3fd78bc.)
然后对电脑进行授权(打开iTunes,点击“Store”—“对这台电脑授权”)才能安装应用程序;
其次,登录以后你点击应用程序购买然后下载安装就好了;
最后,当你使用自己的电脑的iTunes库同步时,你的iphone内原有的程序也会被抹掉的。

怎么我用c++ builder6.0编的一个小程序在其他电脑上不能运行

在程序编译的时候,你需要把程序用到东西都打包到EXE文件中,如下操作:
在Options 中,把Packages--build with runtime packages前的勾去掉
把linker-- use dynamic rtl前的勾去掉
另外,如果你用了数据库功能,那么,你必须把数据库支撑文件放到运行程序的电脑中,因为数据库支撑包不能与EXE文件一起封装

为啥相同的代码相同的编译器在不同电脑上的运行结果不同?

楼主忽略了  调用函数f1 时,c 没有赋初值就直接判断

在楼主程序的基础上略作修改

截图

win linux 两个平台  都测试过

参考技术A 1、机器有病毒了; 2、机器硬件出故障了; 3、不同的厂家如AMD/intel(基于兼容性大概率是不会的); 4、你找到硬件bug 了。 参考技术B 关键就是机器的不同,用机器各自的编译器来编译,结果就同了, 参考技术C 函数f1中的变量c,你在未初始化的情况下就使用了,就是这句while(c!=0)。这时c的值是不确定的。

以上是关于为啥我编译的MFC应用程序在其他电脑上不能运行?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的exe文件没有在其他电脑上运行? [调试]

为啥C++的exe文件在另一台计算机无法运行?

用vs2008编译器,创建一个MFC程序,为啥第一次运行一定要崩溃呢?

为啥相同的代码相同的编译器在不同电脑上的运行结果不同?

这个MFC程序为啥无法显示窗口?

为啥我的Visual Studio 2010 运行时不能显示汉字?