[zz]VS2008在WindowsXP下调试程序出R6034错误

原文:http://ks.cn.yahoo.com/question/1308031705287.html

在此之前,参考了很多关于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文件(一般在嵌入文件里了,所以看不到

你可能感兴趣的:(windows,.net,Microsoft,Yahoo,mfc)