“无法在dll中找到名为[function]的入口点(c到c#类型转换)
发布时间:2020-12-13 20:51:25 所属栏目:Windows 来源:网络整理
导读:我有一个来自第三方的dll,它是用C写的。 以下是来自dll文档的一些信息: //start documentationRECO_DATA{wchar_t Surname[200];wchar_t Firstname[200];} 描述: 用于接收功能结果的数据结构。所有的功能结果将是 存储为Unicode(UTF-8)。 方法: bool reco
我有一个来自第三方的dll,它是用C写的。
以下是来自dll文档的一些信息: //start documentation RECO_DATA{ wchar_t Surname[200]; wchar_t Firstname[200]; } 描述: 方法: bool recoCHN_P_Name(char *imgPath,RECO_DATA *o_data); 输入: char * imgPath 图像位置的完整路径为此 RECO_DATA * o_data 用于接收功能的数据对象 //end documentation 我正在尝试从C#应用程序调用recoCHN_P_Name。为此,我想出了这段代码: 导入dll的代码: public class cnOCRsdk { [StructLayout(LayoutKind.Sequential,CharSet = CharSet.Unicode)] public struct RECO_DATA{ [MarshalAs(UnmanagedType.ByValTStr,SizeConst=200)] public string FirstName; [MarshalAs(UnmanagedType.ByValTStr,SizeConst = 200)] public string Surname; } [DllImport(@"cnOCRsdk.dll",EntryPoint="recoCHN_P_Name")] public static extern bool recoCHN_P_Name(byte[] imgPath,RECO_DATA o_data); } 调用函数的代码: cnOCRsdk.RECO_DATA recoData = new cnOCRsdk.RECO_DATA(); string path = @"C:WINDOWStwain_32twainrgb.bmp"; System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding(); byte[] bytes = encoding.GetBytes(path); bool res = cnOCRsdk.recoCHN_P_Name(bytes,recoData); 我得到的错误是
首先确保功能实际导出:
在Visual Studio命令提示符下,使用dumpbin / exports whatever.dll (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
推荐文章
站长推荐
- active-directory – Windows 10上的Active Dire
- 在64位Windows上将字符串从C返回到C#时,如何防止
- windows – rake资产:预编译不起作用(rails 3.1
- windows – 在命令行上使用’set var = text’后
- 在Windows Mobile 6,Windows Phone 7,Android和i
- Win32 Hooks DLL注入针对“任何CPU”构建的应用程
- windows 修改远程桌面默认端口及对应的防火墙设置
- 开源 – 开源Windows Mobile OCR库
- windows – 任何人都知道一个好的自包含嗅探器?
- Windows中使用计划任务自动执行PHP程序实例
热点阅读