【转载】R6034错误,C Runtime Error

【转载】R6034错误,C Runtime Error

这是我转的一篇非常全的帖子

能查到的解决方法都在里面有提及:

我是使用 stdafx.h加入这句

code #pragma comment(linker, "\"/manifestdependency:type=‘Win32‘ name=‘Microsoft.VC80.CRT‘ version=‘8.0.50608.0‘ processorArchitecture=‘X86‘ publicKeyToken=‘1fc8b3b9a1e18e3b‘ language=‘*‘\"") 解决的

vs2008的话改成VC90.CRT

version=‘8.0.50608.0‘ 改成你的vs的版本.

以下是转载的全文

一个项目从vc6迁移到VS2005,在修改了一系列的类型警告后。编译成功了,Debug的时候,结果却冒出一个R6034错误:"An application has made an attempt to load the C runtime library incorrectly. Please contact the application‘s support team for more information."
      Output Window:app.exe 中的 0x7c984ed1 处最可能的异常: 0xC0000142: DLL Initialization Failed。
      编译条件是:Linker->Manifest File ->Allow Isolation:Yes。

在同样的编译条件下,Release则可以正常编译运行。

采取解决措施:在stdafx.h文件中加入:

#pragma comment(linker, "\"/manifestdependency:type=‘Win32‘ name=‘Microsoft.VC80.CRT‘ version=‘8.0.50608.0‘ processorArchitecture=‘X86‘ publicKeyToken=‘1fc8b3b9a1e18e3b‘ language=‘*‘\"")
   之后,调试中出现若干错误,屏蔽掉错误代码,可以运行,只是最前面的一个splash窗体没有了。
   (参考:http://forums.microsoft.com/china/ShowPost.aspx?PostID=1988459&SiteID=15)

在此之前,参考了很多关于R6034错误的网页,主要是考虑manifest:

(1)磁盘系统是fat32格式的:FAT32的时间精度不够,所以linker在生成文件的时候会出错,如果是ntfs的就没有问题.VS2005项目设置里面在清单工具(Manifest Tool)下面有一个选项"使用FAT32解决办法"(Use FAT32 work around)是专门解决这个问题的.对于FAT32的磁盘,需要选择"Yes",默认是"No".

(2)Visual Studio 2005用向导生成的项目,在运行时可能会遇到找不到MFC80UD.dll的问题。这个问题可能是Manifest 引起的,因此我们可以通过修改项目属性(properties)->清单工具(property pages)->链接(linker)-->manifest file -->Allow Isolation,把“嵌入清单”选“否”,.然后编译、链接、运行即可。

Visual Studio 2005用向导生成的项目,在运行时可能会遇到找不到MFC80UD.dll的问题。这个问题可能是Manifest 引起的,因此我们可以通过修改项目属性->清单工具->输入输出,把“嵌入清单(Embed Manifest)”选“否”,.然后编译、链接、运行即可。

(3)有人提示,在项目属性里,mfc的使用应该设置为静态链接。但我改成静态后,会有很多错误,于是放弃。

(4)问了一个论坛上的网友,他说可能和Microsoft C++ Runtime Library有关系。

除此之外,一个参考文献上说的解决方法是:将Linker->Manifest File ->Allow Isolation:Do not Allow Side by Side isolation,则无论在Debug和Release条件,都出现如下:This application has failed to start because MSVCR80D.dll was not found. Re-installing the application may fix the problem."

关于这个问题,有篇博客文章上说:

VS2005在FAT32分区的介质上对于Win32程序编译的一些注意

问题描述:大部分的vs.net 2005的用户在新建“win32项目-windows应用程序”的时候,新建的工程都通不过去,出现如下提示: 
Solution to “MSVCR80D.dll not found”
“没有找到MSVCR80D.dll,因此这个应用程序未能启动。重新安装应用程序可能会修复此问题。”

问题所在:由于vs.net 2005 采用了一种新的DLL方案,搞成一个exe还要配有一个manifest文件(一般在嵌入文件里了,所以看不到,不过也可以不嵌入,这样会生产一个<程序名>.exe.manifest的文件,没它exe自己就转不了了:)这是个新功能,微软弄了个新工具(mt.exe),结果不好用,好像是fat32下时间戳有问题(在ntfs下这个问题就没有了),搞得manifest有时嵌入不到exe中(默认配置是嵌入的,所以就报错找不到dll了。

解决方案
1. 微软的解决方案。
  在“属性->配置属性->清单工具->常规“下有一个”使用FAT32解决办法,设置为"是"
2. 找到你的工程的文件夹,如(myproject),找到其下的myproject\myproject\Debug\,Delete it.

参考:

1。http://www.grimes.demon.co.uk/workshops/fusWSThirteen.htm

2。http://blogs.msdn.com/nikolad/articles/427101.aspx

3。http://blog.csdn.net/fjnucse/archive/2007/09/06/1774190.aspx

4。http://msdn2.microsoft.com/zh-cn/library/ms235560(vs.80).aspx

5。http://www.3800hk.com/Article/cxsj/cjiajia/txtxdmtcjj/2007-04-02/Article_125561.html

6。http://msdn2.microsoft.com/en-us/library/ms235342.aspx

7。http://msdn2.microsoft.com/en-us/library/ms235624(VS.80).aspx

8。http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=130240&SiteID=1

9。http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=94312&SiteID=1

10。http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=190815&SiteID=1

11。http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=208118&SiteID=1

12。http://forums.microsoft.com/china/ShowPost.aspx?PostID=1988459&SiteID=15

原文地址:https://www.cnblogs.com/bigfi/p/9016079.html

时间: 2024-10-01 00:44:06

【转载】R6034错误,C Runtime Error的相关文章

C Run-Time Error R6034问题的解决

1.问题描述 这两天一直在用vs2008编写一个小项目,需要在c++代码中通过命令行的方式调用cl.exe和link.exe,也就是给编译器cl和链接器link传递参数,然后编译链接生成可执行文件exe.最终生成的result.exe运行时老出现Runtime Error R6034 An application has made an attempt to load the C runtime library incorrectly.的错误,围绕这个问题,我查了两天的资料,最后终于解决了..

ArcGIS10.4 Runtime Error R6034

现在甲方采购的ArcGIS Desktop正版,一般都是较高的版本(10.4或10.4.1),但10.4经常报出C++ Runtime R6034错误. 问题 "Microsoft Visual C++ Runtime Library" Runtime Error! Program: C... R6034 An application has made an attempt to load the C runtime library incorrectly. Please contac

mindmanager2012打开文件出现runtime error r6025 解决方案--转载

转载:http://blog.csdn.net/love_javc_you/article/details/37668211 关于mindmanager 2012启动无法运行,提示c++错误---------------------------Microsoft Visual C++ Runtime Library---------------------------Runtime Error!Program: D:\Program Files\Mindjet\MindManager 10\Mi

Microsoft Visual C++ Runtime Library Runtime Error的解决的方法

打开浏览器时,出现Microsoft Visual C++ Runtime Library Runtime Error错误,初步预计是软件冲突,可能有多种出错的方式,我的是浏览器自己主动关闭. 一. 有些时候,在你安装.执行某个软件,可能会得到这样一个错误提示: Microsoft Visual C++ Runtime Library Runtime Error! Program:c:/windows/explorer.exe This application has requested the

C++调用Python2.7出现R6034错误.

最近有一个项目需要将python脚本内嵌到c++中,内嵌的实现并不是很复杂,官方的手册和网上都有很多这方面的例子,因此实现的过程还是非常顺利的.但是,在部署到另外一台机器上运行时,出现了C++ Runtime Error,错误代码为R6034. 开发环境为Visual Studio 2012 + Python2.7.8.这个问题很是奇怪,因为唯独在一台机器上才出现这个错误,其他机器都很正常,经过一番折腾,最后发现在stackoverflow网站上,老外给出的解决方法比较靠谱: http://st

Microsoft Visual C++ Runtime Library Runtime Error解决的方式

打开浏览器时,出现Microsoft Visual C++ Runtime Library Runtime Error错误,初步预计是软件冲突,可能有多种出错的方式,我的是浏览器自己主动关闭. 一. 有些时候,在你安装.执行某个软件,可能会得到这样一个错误提示: Microsoft Visual C++ Runtime Library Runtime Error! Program:c:/windows/explorer.exe This application has requested the

解决MindManager 15中文版思维导图的runtime error

MindManager思维导图软件是美国Mindjet公司研发出来的,MindManager漂洋过海来到中国,难免会出现水土不服,即兼容性的问题,其中runtime error是最常见的兼容性问题,本教程主讲出现runtime error的解决方法. 打开文件显示错误提示: Runtime Error! Program:C:\Program Files\MindManager 15\Mindmanager.exe abnormal program termination. 原因分析: 这是因为M

win7,M?i?n?d?m?a?n?a?g?e?r?2?0?1?2使用模板时弹出Runtime error R6025解决方法

Mindjet.MindManager2012.v10.0在应用个别模板时提示"参数错误",然后自动关闭. 解决办法: 如果是win7系统,可以进入C:\Users\(用户名)\AppData\Local\Mindjet\MindManager\10\Library\ENU\Templates, 可以看到如下模板:Management/Meetings and Events/Personal Productivity/Problem Solving/Project Management

mindmanager2012打开文件出现runtime error r6025 解决方案

关于mindmanager 2012启动无法运行,提示c++错误 ---------------------------Microsoft Visual C++ Runtime Library---------------------------Runtime Error! Program: D:\Program Files\Mindjet\MindManager 10\MindManager.exe abnormal program termination ------------------