visual studio R6034解决方案集 从VC6.0 或VC2003 到VC2005发现的问题
这是我转的一篇非常全的帖子
能查到的解决方法都在里面有提及:
我是使用 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的版本.
以下是转载的全文
一个项目从vc6迁移到VS2005,在修改了一系列的类型警告后。编译成功了,Debug的时候,结果却冒出一个R6034错误:"An application has made an attempt to load the C runtime library incorrectly. Please contact the application's support team for more information."
Output Window:app.exe 中的 0x7c984ed1 处最可能的异常: 0xC0000142: DLL Initialization Failed。
编译条件是:Linker->Manifest File ->Allow Isolation:Yes。
在同样的编译条件下,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=1988459&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/427101.aspx
3。http://blog.csdn.net/fjnucse/archive/2007/09/06/1774190.aspx 4。http://msdn2.microsoft.com/zh-cn/library/ms235560(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/ms235342.aspx
7。http://msdn2.microsoft.com/en-us/library/ms235624(VS.80).aspx 8。http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=130240&SiteID=1
9。http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=94312&SiteID=1 10。http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=190815&SiteID=1
11。http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=208118&SiteID=1 12。http://forums.microsoft.com/china/ShowPost.aspx?PostID=1988459&SiteID=15
visual studio R6034解决方案集 从VC6.0 或VC2003 到VC2005发现的问题的更多相关文章
- 将 project.json 项目转换为 Visual Studio 2015 解决方案
var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...
- Visual Studio 打开解决方案后 弹出框显示 "正在打开文件..." 迟迟没反应 的解决方法
Visual Studio 打开解决方案后 弹出框显示 "正在打开文件...",任务管理器的devenv进程又很正常,不会显示"未响应". 而IDE的左下角有个 ...
- 让Visual Studio 2015 支持ASP.NET MVC4.0.0.1
近日装上了Visual Studio 2015 ,打开之前vs2013创建的MVC4的项目发现无法编译通过,提示System.Web.MVC,System.Web.WebPages 等找不到,网上搜索 ...
- 解决记录:win10 无法安装VS2017,visual studio installer下载进度始终为0
问题描述:win10 下无法安装VS2017,visual studio installer下载进度始终为0,点击取消按钮后,也没有反应,visual studio installer也关闭不掉: 具 ...
- Visual Studio的 Apache Cordova 插件CTP3.0发布!
北京时间12号晚23点开始的Connect()活动上,微软发布了一系列激动人心的消息! .NET开源了!以后.NET将可在Linux和Mac OS平台上运行! VS免费了!!如果你是学生,个人开发者, ...
- 解决 win10 无法安装VS2019,visual studio installer下载进度始终为0
解决 win10 无法安装VS2019,visual studio installer下载进度始终为0 目录 解决 win10 无法安装VS2019,visual studio installer下载 ...
- Visual Studio 2013环境下操作vc6/vc7/vc8等低版本平台项目【编译|生成|调试】
现代化的开发环境,微软一直在推出更新换代,我们所处的技术环境在日新月异的变化:不过在中国多数人们一边疲惫的追赶着时代的步伐,一边坚守着自己所获悉所掌握的那些紧吧吧的知本.对技术工具的掌握并非他们所想要 ...
- Microsoft Visual Studio 2010中文版编译SQLlite3.7.0版
作为一名教师,没有具体项目的开发,却喜欢尝鲜,不经意间开始追星了. 换了Win7,安装了Microsoft Visual Studio 2010中文版,7月22日SQLite发布了3.7.0版.当然想 ...
- Visual Studio 2013 Ultimate & IIS Express 8.0 错误 [iisexpress.exe”已退出,返回值为 -1073741816 (0xc0000008)] 解决方法
1. 开发环境 Visual Studio 2013 Ultimate IIS 8.0 Express 2. 错误信息 错误提示:iisexpress.exe”已退出,返回值为 -1073741816 ...
随机推荐
- Javac命令一次编译一个目录下的所有java文件
将生成的class文件所部按package路径输出到classes目录当中: javac -d .\classes src\*.java
- 【jmeter】关联-正则表达和xpath
话说LoadRunner有的一些功能,比如:参数化.检查点.集合点.关联,Jmeter也都有这些功能,只是功能可能稍弱一些,今天就关联来讲解一下. JMeter的关联方法有两种:后置处理器-正则表达式 ...
- This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms
异常消息:This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms ...
- 【转】8张图理解Java
一图胜千言,下面图解均来自Program Creek 网站的Java教程,目前它们拥有最多的票选.如果图解没有阐明问题,那么你可以借助它的标题来一窥究竟. 1.字符串不变性 下面这张图展示了这段代码做 ...
- 使用Cyclone IV控制DDR2
根据你的DDR2手册配置好megacore,megacore会生成一个example top: 在quartus中运行megacore生成的xxx_pin_assignments.tcl,指定DDR2 ...
- php定时执行脚本
php定时执行脚本 ignore_user_abort(); // run script. in background set_time_limit(0); // run script. foreve ...
- html中select标签获取选中value和text
$("#id").find("option:selected").text(); //获取Select选择的Text$("#id").val ...
- JavaScript中回调函数的使用
在JavaScript中,回调函数具体的定义为:函数A作为参数(函数引用)传递到另一个函数B中,并且这个函数B执行函数A.我们就说函数A叫做回调函数.如果没有名称(函数表达式),就叫做匿名回调函数. ...
- 黄聪:发送键盘指令System.Windows.Forms.SendKeys.Send
若要指定在按键(如 Enter 或 Tab)时不显示的字符,以及表示操作而不表示字符的键,请使用下表中的代码: 键 代码 Backspace {BACKSPACE}.{BS} 或 {BKSP} B ...
- setValue:forUndefinedKey
*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIViewControlle ...