作者:朱金灿

来源:http://blog.csdn.net/clever101

我们有时会遇到R6034错误,工程明明编译通过,但是运行时却出现:

网上的解决办法很多,但是有效的不多,特别是对阐述这个问题的本质的很少。今天就这个问题谈谈我的粗浅看法,不当及不全面地请大神们赐教。大家知道,操作系统是处在硬件和应用程序之间的一个中间层。应用程序运行时需要用到的库称为运行时库,运行时库相当于操作系统和应用程序之间的一个小的中间层。VC编出来的程序需要的运行时库成为VC运行时库,如MSVCR90.dll等。

其实微软提供的VC运行时库是有很多版本的。为什么需要这么多的运行时库?原因很多,主要有下面两个:一是为了不同的处理器厂商和硬件架构,比如amd和intel,比如x86和x64等等;二是为了适配不同VS版本,比如VS2003、VS2005、VS2008等等,即使同是VS2008,VS2008和VS2008+sp1的运行时库都是不一样的。如何保证开发者的VC程序链接的是正确的VC运行时库?微软就想了一个招,在编译VC程序时开发者可以生成一个清单文件,这个清单文件记录你实际需要链接的哪些版本的运行时库,然后这个清单文件可以嵌入到你的应用程序,当程序启动时根据这个清单文件去寻找你所需要的运行时库。

VS编译程序时可以选择是否生成和嵌入这个清单文件,具体编译选项如下图:

到这里就明白了为啥了会产生R6034的错误了,就是你的应用程序链接到了错误的运行时库,至于为什么链接到了错误的运行时库,原因是应用程序没有潜入清单文件,因为没有精确指定,系统就默认你链接的是system32下的vc运行时库。

因此要避免R3034的错误,最好是在编译程序时选择生成和嵌入这个清单文件。在Win7系统下,系统已经自带了很多版本的运行时库,具体位置在:C:\Windows\winsxs。在xp系统还没有自带多个版本的运行时库,所以一般需要安装注册VS运行时库。

有关R6034错误的思考的更多相关文章

  1. 【转载】R6034错误,C Runtime Error

    能查到的解决方法都在里面有提及: 我是使用 stdafx.h加入这句 code #pragma comment(linker, "\"/manifestdependency:typ ...

  2. C#调用matlab出错r6034错误解决方法[转载]

    在c#调用MATLAB时,在运行第一次会出现r6034错误. 解决方法如下: 1.在MCR安装目录下D:\Program Files\MATLAB\MATLAB Compiler Runtime\v7 ...

  3. 调用python 报R6034 错误

    R6034 指的是:"An application has made an attempt to load the C runtime library incorrectly. Please ...

  4. [Linux] 一次SSH认证失败引发的关于通过日志查错误的思考

    一.缘由: 早上在用SSH公钥认证打通所有的机器,有一台机器在完成一些列操作后密钥登陆失败,其他机器一切正常. 错误如下:Public-key authentication with the serv ...

  5. 有关error PRJ0003错误的思考

    作者:朱金灿 来源:http://blog.csdn.net/clever101 今天同事遇到两个编译错误: 项目: error PRJ0003 : 生成"rc.exe"时出错. ...

  6. puppeteer - 操作支付宝报“操作频繁”错误的思考

    我这里想要实现的是通过转账到支付宝的方式判断一个手机号是否注册过支付宝.但查询收款人的网络请求很复杂分析不出来,使用 puppteer 也是没有解决 "操作频繁" 的问题(应该还有 ...

  7. can not import Flask错误

    在学习flask官方文档——应用构建代码时,遇到了一个小问题照例子敲好代码以后出现了can not import  Flask错误,思考很久也没有解决,最后发现是因为应用模块和flask重名了.下面是 ...

  8. visual studio R6034解决方案集 从VC6.0 或VC2003 到VC2005发现的问题

    这是我转的一篇非常全的帖子 能查到的解决方法都在里面有提及: 我是使用 stdafx.h加入这句 code #pragma comment(linker, "\"/manifest ...

  9. 报错:error C2229: class ' ' has an illegal zero-sized array 引发的思考

    问题:

随机推荐

  1. 管理windows自启动程序

    1. 点击开始,在运行程序框中输入msconfig,然后回车. 在弹出的对话框中,点击”启动“选项卡,在启动项目列表中,把不需要的启动项目前面的对号去掉. 然后切换到”服务“选项卡,这里的服务项目列表 ...

  2. 关于iptables允许samba的问题

    今天同事跟我说他们部门的共享不能用了,想了想,最近变更的只有iptables,于是看看是否是这个原因,发现没有允许samba的入站和出站规则,我的iptables规则默认是所有都drop的,但是不知确 ...

  3. 使用vue实现简单键盘,支持移动端和pc端

    常看到各种app应用中使用自定义的键盘,本例子中使用vue2实现个简单的键盘,支持在移动端和PC端使用,欢迎点赞,h5 ios输入框与键盘 兼容性优化 实现效果: Keyboard.vue <t ...

  4. python学习笔记:第九天

    Linux学习 1.linux虚拟机安装: 1.1win10-64为系统:链接:https://pan.baidu.com/s/1Wz8U1B_OMLaYlYr_SC75Zw 提取码:fe9k ,有U ...

  5. pandas 3 设置值

    from __future__ import print_function import pandas as pd import numpy as np np.random.seed(1) dates ...

  6. 洛谷 P2730 魔板 Magic Squares

    P2730 魔板 Magic Squares 题目背景 在成功地发明了魔方之后,鲁比克先生发明了它的二维版本,称作魔板.这是一张有8个大小相同的格子的魔板: 1 2 3 4 8 7 6 5 题目描述 ...

  7. 程序设计基石与实践系列之编写高效的C程序与C代码优化

    原文出处: codeproject:Writing Efficient C and C Code Optimization 虽然对于优化C代码有非常多有效的指导方针,可是对于彻底地了解编译器和你工作的 ...

  8. 三角函数之美-水波纹载入LoadingView

    一.前言 学习是要总结的.近期几天学习了画图相关的,可是使用的机会较少,如今又快要遗忘了,这次看了水波纹的绘制.认为十分有意思,还是 把实现的方法记录下来.技术无他,为手熟尔.还是要多练习,空淡误国, ...

  9. javascript中如何获取对象名

    javascript中如何获取对象名 一.总结 一句话总结:将对象传入参数,看参数是否为函数(js中的对象和函数是一个意思么(函数肯定是对象)),对象参数.name属性即可获得 //版本4 funct ...

  10. github README.md教程

    github README.md教程 总结 github中README.md通过特殊字符标记和缩进来达到格式控制,也可以用HTML标签来实现格式控制. 教程一: Markdown 的目标是实现「易读易 ...