Использование библиотек vc ++ в проекте MinTW QT - PullRequest
2 голосов
/ 19 августа 2011

Итак, есть пользовательский интерфейс, который я написал, используя MinGW QT. В пользовательском интерфейсе я пытаюсь ссылаться на объекты из моего проекта Visual Studio. Некоторые объекты, на которые я могу ссылаться и которые можно просто использовать, но тот, с которым у меня проблемы, использует сторонний COM-объект.

Вот ошибки, которые я получаю:

undefined reference to 'CoInitialize@4'
undefined reference to 'CoCreateInstance@20'

Я читал, что вы не можете легко смешивать библиотеки MinGW и VS. Суть в том, что некоторые библиотеки GUI, которые я использую, компилируются только с MinGW, поэтому я не могу просто изменить QT на использование компилятора Microsoft.

Могу ли я заставить его распознавать эти функции, или мне придется переписать все?

Я пытался включить сторонний dll в файл .pro, но это ничего не исправляет.

Ответы [ 2 ]

1 голос
/ 19 августа 2011

Это ошибки связывания, вам просто нужно связать с любой библиотекой, имеющей функции COM (ole32 в соответствии с кратким обзором Google). Вы, вероятно, можете вызывать код в dll, скомпилированном с msvc из mingw, при условии, что это код C, а не C ++.

0 голосов
/ 19 августа 2011

MSVC и MinGW не совместимы с ABI, поэтому вам нужно скомпилировать все модули с одним и тем же компилятором, чтобы избежать подобных проблем.

...