zoukankan      html  css  js  c++  java
  • MSVCR80D.dll not found解决方案

    在VS 2005中建立的Win32工程总出现这样的运行错误:"MSVCR80D.dll not found"
    好几次了,总结各种解决方法如下:

         原因:(不知道在说啥)由于VS.net 2005 采用了一种新的DLL方案,搞成一个exe还要配有一个manifest文件(一般在嵌入文件里了,所以看不到,不过也可以不嵌入,这样会生产一 个<程序名>.exe.manifest的文件,没它exe自己就转不了了:)这是个新功能,微软弄了个新工具(mt.exe),结果不好 用,好像是fat32下时间戳有问题(在ntfs下这个问题就没有了),搞得manifest有时嵌入不到exe中(默认配置是嵌入的,所以就报错找不到 dll了。

          解决方法:(任选一个即可)
    1.生成Debug版本项目时,未打开连接器的/MANIFEST开关。在 'Project Properties->Configuration Properties->Mainfest Tool->Input and Output->Embed Manifest' 将 YES 改 成 NO 就可以了.

    2.在“属性->配置属性->清单工具->常规“下有一个”使用FAT32解决办法,把它选成是,就可以了。

    3、如果建立的是Win32的项目的话可以在项目-(项目名)属性-配置属性-C/C++-代码生成-运行时库 将其改为多线程调试 /MTd

    4、在C:"Program Files"Microsoft Visual Studio 8"VC"redi
    st"Debug_NonRedist"x86"Microsoft.VC80.DebugCRT 下找到了下列文件:

    msvcm80d.dll
    msvcp80d.dll
    msvcr80d.dll
    Microsoft.VC80.DebugCRT.manifest

    把这几个文件拷贝到目标机器上,与运行程序同一文件夹或放到system32下,就可以运行那个程序了。

    5、将Debug版本中第一次生成的.res文件删除后重新Build一次

    6、采用Release模式,不要采用Debug模式就可以了

    6.  此法太复杂,懒得试拉.

  • 相关阅读:
    case when then 根据不同条件 查询不同的数据 相当于 if-else if-else
    完美的拼接sql语句,中间可以加字符等东西,
    C++抽象类
    C #引用NuGet程序包MySQLData问题
    win10磁盘100%占用解决方法
    C# ASP.NetCore 检测到包降级
    VS 命令“npm install”已退出的问题
    序列化和反序列化含义
    数据库MySQL忘记本地密码
    MongoDB授予权限
  • 原文地址:https://www.cnblogs.com/niuniu502/p/1334998.html
Copyright © 2011-2022 走看看