r6034错误解决办法_r6030错误 解决方法[通俗易懂]

r6034错误解决办法_r6030错误 解决方法[通俗易懂]作者:朱金灿来源:http://blog.csdn.net/clever101我们有时会遇到R6034错误,工程明明编译通过,但是运行时却出现:网上的解决办法很多,但是有效的不多,特别是对阐述这个问题的本质的很少

作者:朱金灿

来源:有关R6034错误的思考

 

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

r6034错误解决办法_r6030错误 解决方法[通俗易懂]

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

 

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

 

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


r6034错误解决办法_r6030错误 解决方法[通俗易懂]

r6034错误解决办法_r6030错误 解决方法[通俗易懂]

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

 

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

今天的文章r6034错误解决办法_r6030错误 解决方法[通俗易懂]分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/75011.html

(0)
编程小号编程小号

相关推荐

发表回复

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