R6034错误,C Runtime Error

R6034错误,C Runtime Error这是我转的一篇非常全的帖子 nbsp 能查到的解决方法都在里面有提及 nbsp 我是使用 stdafx h 加入这句 code pragmacommen linker manifestdepe type Win32 name Microsoft VC80 CRT version 8 0 50608 0 processorArc X86

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

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

我是使用 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的版本. 

以下是转载的全文    

    在同样的编译条件下,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=&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/.aspx
    3。 http://blog.csdn.net/fjnucse/archive/2007/09/06/.aspx
    4。 http://msdn2.microsoft.com/zh-cn/library/ms(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/ms.aspx
    7。 http://msdn2.microsoft.com/en-us/library/ms(VS.80).aspx
    8。 http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=&SiteID=1
     9。 http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=94312&SiteID=1
    10。 http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=&SiteID=1
    11。 http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=&SiteID=1

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


我也碰到上面的问题,上面是解决方案。直接在stdafx.h头文件中加入这个就可以了。#pragma comment(linker, “\”/manifestdependency:type=’Win32′ name=’Microsoft.VC80.CRT’ version=’8.0.50608.0′ processorArchitecture=’X86′ publicKeyToken=’1fc8b3b9a1e18e3b’ language=’*’\””)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233402.html原文链接:https://javaforall.net

(0)
上一篇 2025年7月23日 下午1:01
下一篇 2025年7月23日 下午1:22


相关推荐

  • Arduino ESP32实战:调用讯飞星火认知大模型语音听写流式API的避坑指南

    Arduino ESP32实战:调用讯飞星火认知大模型语音听写流式API的避坑指南

    2026年3月14日
    3
  • python 写入文件时编码问题

    python 写入文件时编码问题本文仅供学习交流使用,如侵立删!联系方式及demo下载见文末python写入文件时编码错误UnicodeDecodeError:’utf-8’codeccan’tdecodebyte..解决:增加errors=‘ignore’withopen(‘数据.csv’,”r”,encoding=’utf-8′,errors=’ignore’,newline=””)asf1:本文仅供学习交流使用,如侵立删!企鹅、WX:1033383881(备注来意)

    2022年10月2日
    4
  • open函数返回值为0

    open函数返回值为0open函数是我们开发中经常会遇到的,这个函数是对文件设备的打开操作,这个函数会返回一个句柄fd,我们通过这个句柄fd对设备文件读写操作。  我们在对这个fd作判断的时候,经常会用到:    fd=open(filename,O_RDONLY);     If(fd          Printf(“open%serror!\n”,fi

    2022年5月25日
    309
  • bootstrap创建登录注册页面

    bootstrap创建登录注册页面用 bootstrap 做登入注册页面 使用 validate 做表单验证技术 bootstrap font awesome jquery validate 特点 响应式布局 表单验证 用户两次密码是否相同 必填信息是否填写 背景图片自适应屏幕大小 宗旨 从实战中学知识 个人主页 http www itit123 cn 更多干货等你来拿 微信小程序入门教程 入门教程系列 提供免费的 api 接口 无需考虑服务端代码问题

    2026年3月26日
    3
  • at命令的用法

    at命令的用法at 命令的用法 nbsp At 列出在指定的时间和日期在计算机上运行的已计划命令或计划命令和程序 必须正在运行 计划 服务才能使用 at 命令 at computername id delete delete yes at computername time interactive every date

    2025年9月1日
    7
  • 拆解养龙虾成本 看完果断劝退

    拆解养龙虾成本 看完果断劝退

    2026年3月16日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号