oadlibrary(xxx.dll) 失败 由于应用程序配置不正确

应用程序未能启动.重新安装应用程序可能会纠正这个问2009-07-01 
      11:34有些机器出现这样的问题,有些没有!有些控件无问题,有些有问题。以前做安装测试都是项目经理负责,我从来不关心这种问题。现在的公司,没有这样全职的职位负责。还是自己来吧。
      根据经验出现这种问题,肯定动态链接的DLL问题
      1.在可以使用控件机器上使用 depends 发现,原来比较特别就是安装了CRT运行
      2.不行的机器上,无安装CRT
      3.为什么有一个控件,就算是无安装CRT也可以运行,但大家都静态连接到ATL
      4.于是把xp的CRT DLL复制到2003,还是不行(可能2003与xp CRT不同,没有继续尝试)
      5.到网上找找还真到答案 "loadlibrary 失败 由于应用程序配置不正确 应用程序未能启动 crt"


      ============================================================================
      解决:
      方法一:
      在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下,就可以运行那个程序了。


 方法二:
      修改编译选项,将/MD或/MDd 改为 /MT或/MTd,这样就实现了对VC运行时库的静态链接,在运行时就不再需要VC的dll了。
      方法三:
      工程-》属性-》配置属性-》常规-》MFC的使用,选择"在静态库中使用mfc"
      这样生成的exe文件应该就可以在其他机器上跑了。
      方法四:
      你的vc8安装盘上找到再分发包vcredist_xxx.exe和你的程序捆绑安装


      方法一:原来我就差 Microsoft.VC80.DebugCRT.manifest 这个文件就成功了,可以那个时候没有继续试
      方法二:这个方法最好,适应多种工程
      方法三:MFC才适用吧
      方法四:比较大的项目比较好!


      附:MSDN真正原则的解决办法,这才是真正要学习的
      C/C++ 独立应用程序和并行程序集疑难解答

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值