r6034 an application has made an......解决办法
转载地址:https://blog.csdn.net/lujianxin1098/article/details/7676011 转载自:http://hi.baidu.com/%B3%E6%B5%C4%B4%AB%C8%CB/blog/item/1ee503e785263324b838206f.html 提示没有找到MSVCR80D.dll R6034 An application has made an attempt to load the C runtime library without using a manifest. 这是由于manifest文件没有被正确嵌入EXE中所导致的。工程建立后默认是设定要嵌入manifest文件的,如果该文件没有被正确嵌入,那么就会报这个错误。当然如果设置生成清单(在工程属性、配置属性、连接器下的清单文件选项里),不嵌入清单(就在下面的清单工具的输入和输出选项里),那么当把manifest删掉后再运行程序,也会报这个错误。网上还看到说FAT32文件系统嵌入清单的时候需要开启下面的选项,不然也会异常。不过我用着FAT32没这个问题。倒是最近内存低的时候系统会有点异常,所以碰到了这个问题。 还看到一个德国的牛人解释: http://blog.kalmbachnet.de/ Using the VC 2005 shared CRT/MFC (DLL) without a manifest is not supported! This has to do with the checking for a valid manifest of the EXE inside the CRT/MFC DLLs “DllEntry” (via a call to _check_manifest). If the OS supports manifests (or better Side-By-Side assemblies/DLLs) the CRTs′ DLL forces the check of the EXEs′ manifest. If there is no (valid) manifest,then the DLL refuses to load (returns 0) and therefor the EXE cannot be started. It might display the following error message (or similar): But in the following cases the manifest checking inside the CRT-DLL is not done: Pre-fusion OS (FindActCtxSectionStringW not found in kernel32.dll) 解决方案: 一、 1. 微软对于这个问题应该也有处理,不过感觉不是很人性化。在“属性->配置属性->清单工具->常规“下有一个”使用FAT32解决办法,把它选成是,就可以了。(注意:一定要先配置这个选项,然后再编译工程,要不然还是不好用:) 当然了 二、 看到有人写了个程序向导: 2) 打开html2052,看到两个文件了吧,就那个AppSettings.htm了,这个管着你的那个配置向导的界面,用UE(不要告诉我你不知道ue啥东西,baidu it)打开,在266行“ </SPAN>”后回车,然后插入一下内容: <!-- this (hua)section is added by HUA. --> <br><br><br><br><br> <span class="itemTextTop" id="FILE_SYSTEM_SPAN" title="">选择你所使用的文件系统: <P CLASS="Spacer"> </P> <INPUT TYPE="radio" CLASS="Radio" checked onPropertyChange="" NAME="filesystem" ID="FAT32" ACCESSKEY="F" TITLE="FAT32"> <DIV CLASS="itemTextRadioB" ID="FAT32_DIV" TITLE="FAT32"> <LABEL FOR="FAT32" ID="FAT32_LABEL">FAT32(<U>F</U>)</LABEL> </DIV> <BR> <INPUT TYPE="radio" CLASS="Radio" onPropertyChange="" NAME="filesystem" ID="NTFS" ACCESSKEY="N" TITLE="NTFS"> <DIV CLASS="itemTextRadioB" ID="NTFS_DIV" TITLE="NTFS"> <LABEL FOR="NTFS" ID="NTFS_LABEL">NTFS(<U>N</U>)</LABEL> </DIV> </span> <!-- end of (hua)section --> 好,保存关闭,这个改完了,准备下一个。 3) 打开scripts2052,这里就一个文件,ue打开它,找到138行“ var bATL = wizard.FindSymbol("SUPPORT_ATL");”其后回车,插入如下内容: 三 因为没有msvcr80.dll 感觉以下两种解决办法是比较方便的: msvcm80d.dll 把这几个文件拷贝到目标机器上,与运行程序同一文件夹或放到system32下,就可以运行那个程序了。 方法二: 在vc6下调用vs2005的动态链接库,开始弹出“没有找到MSVCR80D.dll“的对话框, (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 有没有快速的方法来查看Windows 2008上加载了哪些文件系统筛
- Windows系统下如何卸载干净mysql
- 在Windows中使用Python设置文件夹权限
- Qt:使用INI文件和注释在Windows上进行QSettings
- remote-desktop – 在Windows Server 2012中为RDP启用声音
- 如何使用wamp在windows上烘焙cakephp 2.0应用程序
- winapi – 什么是用于删除文件夹的Win32 API函数?
- 基础知识 一个工具给win7 win10的同学 或者MAC 可以跳过
- 在Windows手机上将json反序列化为对象c#
- Error: EACCES: permission denied, mkdir