转载R6034错误,C Runtime Error
Posted bigfi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了转载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。
之后,调试中出现若干错误,屏蔽掉错误代码,可以运行,只是最前面的一个splash窗体没有了。
(参考:http://forums.microsoft.com/china/ShowPost.aspx?PostID=1988459&SiteID=15)
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.
以上是关于转载R6034错误,C Runtime Error的主要内容,如果未能解决你的问题,请参考以下文章