C#换机器后调用dll失败提示无法加载DLL找不到指定的模块
来源:互联网 发布:网络思想政治教育效果 编辑:程序博客网 时间:2024/04/29 06:37
用C#写了一个软件,并且用C++写的核心算法封装成了dll,在安装了VS2010的机器上开发完成后一切正常。但是当把.exe和dll拷贝到另外没安装vs2010的机器上后,运行.exe就会报如下错误,调用dll失败提示无法加载DLL找不到指定的模块:
一开始以为是dll没写好,找不到入口,但是回到C++程序中检查,所有对外的函数都是加了
extern "C" __declspec(dllexport) 关键字的,没有问题。
在C#中使用非托管的调用方式,C#中调用代码如下:
public class CPPDLL
{
[DllImport("HDLC.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.Cdecl)]
public static extern int hdlc_encode(byte[] pOut, byte[] pIn, uint inLen, uint maxOutLen);
[DllImport("HDLC.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.Cdecl)]
public static extern int hdlc_decode(byte[] pOut, byte[] pIn, ref uint inLen, uint maxOutLen);
//[DllImport("HDLC.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.Cdecl)]
//public static extern void test(byte[] pOut, byte[] pIn, uint inLen);
}
这样是没问题的。
经过仔细分析,认为应该是新机器上缺少一些东西导致。于是使用Depends软件,在新机器上打开自己写的dll,发现果然报错:
左侧窗口中显示该dll还要依赖MSVCR100D.DLL和KERNEL32.DLL两个系统DLL,在新机器上缺少的是MSVCR100D.DLL文件。
于是到开发机上搜索该文件,在系统目录和VS2010目录下找到好几个,应该是安装VS2010的时候给安装上的,于是随便复制一个小点的MSVCR100D.DLL到新机器上,跟.exe放到同一目录下,运行成功。
- C#换机器后调用dll失败提示无法加载DLL找不到指定的模块
- c#编写ARP欺骗,无法加载 DLL“wpcap”: 找不到指定的模块。loadlibrary("wpcap.dll")失败-找不到指定的模块
- C# 无法加载DLL(XXX.DLL):找不到指定的模块
- C#调用动态库,无法加载 DLL"xx.dll": 找不到指定的模块
- c# 无法加载xxx.dll 找不到指定的模块
- 无法加载 DLL 找不到指定的模块
- 无法加载DLL,找不到指定的模块
- [BUG]无法加载 DLL“djcvt.dll”: 找不到指定的模块
- 无法加载DLL“oramts.dll”: 找不到指定的模块
- c# 无法加载DLL“###.dll”,: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E),解决办法总结
- c# 无法加载DLL“###.dll”,: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)
- C# 无法加载 DLL“Basic.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。
- c# 无法加载DLL“###.dll”,: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)
- c# 无法加载DLL“###.dll”,: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E),解决办法总结
- c# 无法加载DLL“###.dll”,: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E),解决办法总结
- C# 程序运行无法加载 C++ DLL“xxx.dll”: 找不到指定的模块
- c# 无法加载DLL“###.dll”,: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)
- c# 无法加载DLL“###.dll”,: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E),解决办法总结
- GCJ 2008 round1AA
- 强连通分量
- Openstack image制作方法详解
- javascript中的一些常用的数组算法总结
- C++之类的const成员变量和成员函数2
- C#换机器后调用dll失败提示无法加载DLL找不到指定的模块
- c++实验3-个人所得税计算器
- tomcat
- 使用ngx_lua构建高并发应用(1)
- Codeforces 588B Duff in Love 【数学】
- nodejs小记之Ueditor的配置
- Servlet和Android网络交互基础(3)
- 哈希表
- C++第三次作业