Я регулярно сталкиваюсь с подобными ситуациями:
У меня есть куча COM .DLLs (без IDL-файлов), которые мне нужно использовать, и я вызываю их, чтобы получить доступ к некоторым иностранным (не открытым, недокументированным) форматам данных.
Платформа Microsoft Visual Studio от Microsoft имеет очень хорошие возможности для импорта таких библиотек COM и их использования в моем проекте (директива Visual C ++ #import или выбор и добавление их с помощью диалогов Visual Basic .NET), и это рекомендуемый поставщиками способ использования. им.
Мне было бы интересно найти способ использовать эти библиотеки DLL на платформах разработки не-Microsoft. А именно, используя эти COM-классы в проекте C ++, скомпилированном с MinGW или Cygwin, или даже порте GCC от Wine до linux (компилирует C ++, ориентированный на Win32, в двоичный файл, работающий в Linux).
Я получил некоторый ограниченный успех при использовании этого драйвера, но это не удается в 100% случаев (я не могу использовать COM-объекты, возвращаемые некоторыми методами).
Кто-нибудь имел успех в подобных ситуациях?