_szxy 2018-06-05 11:16 采纳率: 33.3%
浏览 864
已结题

com服务器将一个32位的dll中的函数封装,但在idl文件中类不识别 error2025

写一个x64的工程,有个库是32位的,不能直接调用。所以创建了一个com服务器(EXE),将32位库的dll里的函数封装到com服务器里。
但是,dll(lib里有些函数是自命名的类,不是"oaidl.idl"包含的long , char那些类),在com中.idl文件中识别不出来,报俩错误:
1>.\ComCaffe.idl(20): error MIDL2025: syntax error : expecting a type specification near "HC_VMT_NET_LoginProc"
1>.\ComCaffe.idl(20): error MIDL2026: cannot recover from earlier syntax errors; aborting compilation

如图:报错地点

方法是自己手动添加进去的,因为没有它提供的类。
类定义在那个32位的库里,
图片说明
所以这个bug是和windows sdk有关系还是说 就不能这样用自己定义的类?
所以,通过com服务器能把32位的dll引用到64位程序里去吗,现在该如何操作,来一个详细点的解答吧,谢谢各位大神!

  • 写回答

2条回答 默认 最新

  • dabocaiqq 2018-06-05 12:05
    关注
    评论

报告相同问题?