VS2005 编译环境,解决 Runtime Error(运行时错误): R6034。
2011-08-02 21:39
471 查看
Posted onDecember
8, 2007 by王永杰
问题:Runtime Error R6034
在VS2005编译环境下,用makefile编译的程序爆出了一个可恶的Runtime Error。
错误如下图:
提示信息是:
Runtime Error!
R6034
An application has made an attempt to load the C runtime library incorrectly. Please contact the application’s support team for more information.
无法正常载入 C runtime library。
问题追因
程序生成之后直接执行是没有问题的,而打包后的程序却有问题,看来应该是缺少了什么文件。于是我对编译程序生成的文件一个个删除,并查看检查程序的运行情况。在$(APP).exe.manifest被文件删除之后,R6034现身了,看来罪魁祸首就是它了。
我又在MSDN上搜索R6034,得到了这个Error描述的:
C Run-Time Error R6034
Error Message
An application has made an attempt to load the C runtime library without using a manifest. This is an unsupported way to load Visual C++ DLLs. You need to modify your application to build with a manifest.
这么以来更确认了出现这个问题的原因:缺少了manifest,程序因此无法正常载入C runtime library。
解决办法
解决方法有两个:
将编译得到的 $(APP).exe.manifest 一并打包,即和应用程序放在同一个文件夹下;
将manifest文件直接嵌入到可执行文件。
嵌入到可执行文件的方法是,需要在生成exe之后在执行下面的命令:
mt.exe –manifest $(APP).exe.manifest -outputresource:$(APP).exe;1
编译DLL的话,有一点点小区别的。
mt.exe –manifest $(LIB).dll.manifest -outputresource:$(LIB).dll;2
后话
VC2005搞出个这玩意有什么好处?
转自:http://wyj.zhuwo.info/2007/12/vs2005-%E7%BC%96%E8%AF%91%E7%8E%AF%E5%A2%83%EF%BC%8C%E8%A7%A3%E5%86%B3-runtime-error%E8%BF%90%E8%A1%8C%E6%97%B6%E9%94%99%E8%AF%AF-r6034%E3%80%82/
相关文章推荐
- DirectShow 在VS2005/VS2010中环境配置和编译运行出现 winnt.h(5940)错误问题的解决
- C程序访问hadoop出现的各种编译错误和运行时各种类DefFound异常的解决方法(makefile的书写和环境变量的配置)
- VS2005编译的程序在XP系统下不能运行的解决办法
- Java中使用com.sun相关jar包出现编译错误,但是运行没有错误的解决方法和原因
- VS2005运行程序时出现“没有找到MSVCP80D.dll"错误的解决方法
- ruby环境sass编译中文出现Syntax error: Invalid GBK character错误解决方法
- 解决:flash cs5运行时出现“java运行时环境初始化时出现错误,你可能需要重装Flash”
- ruby环境sass编译中文出现Syntax error: Invalid GBK character错误解决方法
- C/C++/MFC 编译运行错误解决方法收集error
- ruby环境sass编译中文出现Syntax error: Invalid GBK character错误解决方法
- VS2005运行程序时出现“没有找到MSVCP80D.dll"错误的解决方法 收
- 编译QT5.0.1的错误“qtbase\\configure.exe' 不是内部或外部命令,也不是可运行的程序或批处理文件”的解决方法
- vs2010建立win32 application 编译错误(用vc6.0建立此工程正常运行)解决方法
- win7(32 bit) + IE8 环境,IE8无法弹窗(错误提示:“此网页上的错误可能会使它无法正确运行”),有关的系统注册信息损坏——解决方法
- ACE编译运行错误解决
- Android 开发环境搭建 与在编译中遇到错误make Error 45解决方法
- VS2005运行程序时出现“没有找到MSVCP80D.dll"错误的解决方法 收
- Ruby环境Sass编译中文出现Syntax error: Invalid GBK character错误解决方法
- ruby环境sass编译中文出现Syntax error: Invalid GBK character错误解决方法