在MinGW QT项目中使用vc ++库

时间:2011-08-18 20:57:41

标签: qt visual-c++ com mingw

所以我有一个用MinGW QT编写的用户界面。在UI中我试图从我的Visual Studio项目中引用对象。我可以引用和使用的一些对象很好,但是我遇到问题的对象使用了第三方COM对象。

这些是我得到的错误:

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

我读过你不能轻易混合MinGW和VS库。问题是,我使用的一些GUI库只能用MinGW编译,所以我不能只改变QT来使用Microsoft编译器。

有什么方法可以让它识别这些功能,或者我最终还是要重写一切?

我尝试在.pro文件中包含第三方dll,但这并没有解决任何问题。

2 个答案:

答案 0 :(得分:1)

那些是链接错误,你只需要链接任何具有COM功能的lib(根据快速谷歌的ole32)。您可以调用mingw中使用msvc编译的dll中的代码,只要它的C代码不是C ++即可。

答案 1 :(得分:0)

MSVC和MinGW不兼容ABI,因此您需要使用相同的编译器编译所有模块以避免此类问题。