我经常遇到类似的情况:我有一堆 COM .DLL(没有 IDL 文件),我需要使用和调用它们才能访问一些外部(非开放、非文档化)数据格式。
Microsoft 的 Visual Studio 平台具有非常好的功能,可以导入此类 COM DLL 并在我的项目中使用它们(Visual C++ 的 #import 指令,或使用 Visual Basic .NET 的对话框选择和添加它们)——这是供应商推荐的使用方式。
我有兴趣找到一种在非微软开发平台上使用这些 DLL 的方法。即,在使用 MinGW 或 Cygwin 编译的 C++ 项目中使用这些 COM 类,甚至是 Wine 的 GCC 端口到 linux(将针对 Win32 的 C++ 编译成在 Linux 上本机运行的二进制文件)。
使用此驱动程序我取得了一些有限的成功,但这在 100% 的情况下并不成功(我不能使用某些方法返回的 COM 对象)。
有人在类似情况下取得过成功吗?