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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • php替换字符串中,PHP 替换字符串中的一些字符方法介绍

    php替换字符串中,PHP 替换字符串中的一些字符方法介绍在php中替换字符串我们都会使用到str_replace函数了,此函数还可以使用正则,下面小编来给大家介绍一下替换字符串中的一些字符或替换第一次出现的字符实例。现在有个需求:字符串A与字符串B,字符串B中包含字符串A,利用字符串A将字符串B中的A替换成其他字符串或删除。利用PHP函数,str_ireplace()与str_replace()可以做到。一、str_ireplace(find,r…

    2022年5月10日
    42
  • 静态代理和动态代理详解[通俗易懂]

    静态代理和动态代理详解[通俗易懂]1代理生活中的代理:比如我们生活中比较熟悉的代购、中介、商家等都是属于代理2什么是代理模式代理模式是指:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户类和目标对象之间起到中介的作用。换句话说,使用代理对象,是为了在不修改目标对象的基础上,增强主业务逻辑。客户类真正想要访问的对象是目标对象,但客户类真正可以访问的对象是代理对象。客户类对目标对象的访问是通过访问代理对象来实现的。当然,代理类与目标类要实现同一个接.

    2022年10月10日
    3
  • WebGame开发过程中的一些思考和总结

    WebGame开发过程中的一些思考和总结WebGame如今已经很火,市场也很大,盛大和腾讯都已经看中这一块市场。我自己也在做这方面的研发,总结和思考一些问题。

    2022年5月29日
    29
  • python贪吃蛇编程代码大全_200行python代码实现贪吃蛇游戏

    python贪吃蛇编程代码大全_200行python代码实现贪吃蛇游戏本文实例为大家分享了python实现贪吃蛇游戏的具体代码,供大家参考,具体内容如下这次我们来写一个贪吃蛇游戏下面贴出具体代码importpygameimporttimeimportnumpyasnp#此模块包含游戏所需的常量frompygame.localsimport*#设置棋盘的长宽BOARDWIDTH=48BOARDHEIGHT=28#分数score=0cl…

    2022年6月28日
    44
  • 关系数据库的范式理论_数据库规范化理论依据

    关系数据库的范式理论_数据库规范化理论依据文章目录求关系模式最高达到第几范式的步骤通俗理解1NF,2NF,3NF.如何求关系模式的候选码如何求闭包函数依赖求关系模式最高达到第几范式的步骤根据给定的U和F,首先求它的候选码根据候选码判断关系F中的函数关系是否满足第二范式,若不满足则为关系模式的规范化最高为第一范式然后判断是否存在非主属性传递依赖,如果存在则不满足第二范式,如果不存在则关系模式的规范化最高为第三范式.通俗理解1N…

    2022年10月16日
    3
  • 2015美国闪存峰会来了!PMC将展示新一代NVMe方案

    2015美国闪存峰会来了!PMC将展示新一代NVMe方案

    2022年3月6日
    87

发表回复

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

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