unable to load dll(由于应用程序配置不正确,应用程序未能起动)问题解决方法

转载 2012年03月26日 17:43:57

unable to load dll(由于应用程序配置不正确,应用程序未能起动)问题解决方法

已有 5970 次阅读 2009-10-27 16:10 |个人分类:C#|系统分类:科研笔记

自己写的一个DLL(VC),然后用C#调用,在自己的机器上运行没有问题,放在其它机器(XP)上,就出现如标题所示的问题,换一台2003出现新的问题:找不到指定的模块(Exception from HRESULT:0X8007007E)。意思应该都差不多。上网搜索解决方法。

找到了这篇文章(http://hi.baidu.com/talksmiles/blog/item/6709d23423f7993e5bb5f5f2.html),上面说的很详细,分为一,二,三,四,这里摘抄如下:

------摘抄------

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

其他release版,MFC程序什么的都是拷redist下相应文件夹下的文件就可以了,文件夹后都有标识!

方法二:
修改编译选项,将/MD或/MDd 改为 /MT或/MTd,这样就实现了对VC运行时库的静态链接,在运行时就不再需要VC的dll了。

方法三:

工程-》属性-》配置属性-》常规-》MFC的使用,选择"在静态库中使用mfc"
这样生成的exe文件应该就可以在其他机器上跑了。

方法四:

你的vc8安装盘上找到再分发包vcredist_xxx.exe和你的程序捆绑安装

------摘抄------

我觉得方法二、三比较简单,并且有印象以前在做FFPGATHER的时候,也遇到了同样的问题,就是按这个方法解决的问题。于是满怀信心的一通设置,编译链接,跑到2003下运行程序,发现问题依旧。

正想放弃,开始采用方法四的时候,一想自己基于OPENCV,是不是自己没有装OPENCV的原因,虽然我把cv, cxcore, highgui, cv100, cx100等dll和lib文件,已经放在了程序所在文件夹下。于是将OPENCV装在了2003上,运行程序,问题依然存在。于是百思不得其解。我用Depends(VS2005,2008相应文件夹下,如C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\Bin有这个程序)进行查看(在没有OPENCV的情况下),发现少了两个DLL,IESHIMS.DLL及WER.DLL。于是去查这相关的文章,找到很多,按照一一尝试,都没能解决问题。

偶然情况下,重启了一下电脑,再运行程序,惊喜一切正常。为了确定,是否为OPENCV没有安装的问题,将OPENCV所在文件夹改名为OPENCV0,再次运行程序,则再次出现问题。于是确定是没有安装OPENCV的原因。

总结如下:

1、遇到这类问题,用方法二、三进行设置,并生成release版的程序,应该就可以了。

2、OPENCV安装完成,由于其设置了环境变量,需要重启机器,才能生效。

在解决这个问题过程中,搜索到其它一些有用的链接,表示感谢,如下:

http://www.cnblogs.com/kiddo/archive/2008/04/11/1148427.html


http://www.jschina.com.cn/gb/jschina/tech/17/userobject1ai1410564.html

http://blog.csdn.net/flyjimi/archive/2006/09/08/1194676.aspx
 

Unable to load DLL 'xxx.dll': 找不到指定的模块。 (Exception from HRESULT: 0x8007007E)

使用virtual studio编译生成dll给c#用,在本地使用ok,但到线上服务器就加载失败。 网上很多解释及方法,最终发现我的是以下问题: 1. 下载dependencywalker,查看制...

Unable to load dll的解决方法

前几天在做项目时,需要用到一个非托管的DLL库,使用.NET的互操作技术可以很方便的调用位于非托管DLL中的 函数。但是在执行时遇到了下面的错误:“Unable to load dll HRESUL...

`DllImport' could not be found 错误

错误:`DllImport' could not be found   方法:给你的类添加"using System.Runtime.InteropServices;"...
  • ghevinn
  • ghevinn
  • 2013年09月26日 19:41
  • 2071

DLLImport:无法加载 DLL

DLLImport引入DLL后,使用时报错: (1)首先报“无法加载 DLL, 找不到指定的模块”错误。 解决:须将DLL复制到C:\Windows\system32下或程序bin目录下; ...

VC运行时库与应用程序配置不正确,程序无法启动”的解决方法资料收集

转:  http://dearymz.blog.163.com/blog/static/205657420096675044722/  VC项目属性 →配置属性→C/C++→代码生成→运行时库 可以...

“应用程序配置不正确, 程序无法启动”解决方法

最近在XP 32位系统上用VS2008开发的MFC Application程序在没有安装VS2008的Win7系统上双击运行以后出现了“应用程序配置不正确, 程序无法启动”的bug。经过半天时间的研究...

“应用程序配置不正确,程序无法启动”的解决方法

VC9编译的程序在没有装过VC9(确切的说是.Net Framework3.5)的机器上运行时,如果提示“由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。”这个错误,那么...

“应用程序配置不正确,程序无法启动”的解决方法资料收集

“应用程序配置不正确,程序无法启动”的解决方法资料收集 2009年04月25日 星期六 7:24 P.M. 先鄙视一下百度空间的编辑器,实在是太差了,在word编辑的东西,...

“应用程序配置不正确,程序无法启动”的解决方法资料收集

http://hi.baidu.com/fairysky/blog/item/e7a8366dbaa735f3431694c8.html 参考资料 1、VS2005解决"应用程序配置不正确,程序无...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:unable to load dll(由于应用程序配置不正确,应用程序未能起动)问题解决方法
举报原因:
原因补充:

(最多只允许输入30个字)