日期:2014-05-17  浏览次数:20980 次

【求救】C#调用C++ dll的问题
最近做一个人脸识别,dll是A公司给的,要用C#写个Demo,出现下面问题跟A公司技术人员交流过,我认为是他dll问题,请大侠鉴定:


初始化的时候出现这个异常:


我在命令窗口查看THFace.dll的方法名都是NoName。。。是不是这个问题引起的。。。请问要如何解决!






------解决方案--------------------
有没有把编译设定为 X86 呢,64 和 32 位 DLL 是不能共用的。
------解决方案--------------------
用IDA看一下THFaceInit导出没即可
------解决方案--------------------
1.确认你没把函数名拼错.
2.使用 eXeScope.exe 看一下他的dll文件,函数名是否确认是没有的.
确实没有名字就是A公司没有把函数导出,也或者由于什么编码问题,函数名编程了乱码,或加了什么乱七八糟的字符.
------解决方案--------------------
我之前碰到过这个问题,但是我的原因是我现场的硬件跟A公司开发DLL使用的硬件在细节方面有些差别,可能是波特率还是什么的东东不一样,后来更换了一个芯片这个错误提示就没了。当然,最重要的是调试成功以前不要付款给对方,让供应商来给你解决。如果你的情况也类似,可以从这方面入手,希望对你有帮助。