所以我有一个用MinGW QT编写的用户界面。在UI中我试图从我的Visual Studio项目中引用对象。我可以引用和使用的一些对象很好,但是我遇到问题的对象使用了第三方COM对象。
这些是我得到的错误:
undefined reference to 'CoInitialize@4'
undefined reference to 'CoCreateInstance@20'
我读过你不能轻易混合MinGW和VS库。问题是,我使用的一些GUI库只能用MinGW编译,所以我不能只改变QT来使用Microsoft编译器。
有什么方法可以让它识别这些功能,或者我最终还是要重写一切?
我尝试在.pro文件中包含第三方dll,但这并没有解决任何问题。
答案 0 :(得分:1)
那些是链接错误,你只需要链接任何具有COM功能的lib(根据快速谷歌的ole32)。您可以调用mingw中使用msvc编译的dll中的代码,只要它的C代码不是C ++即可。
答案 1 :(得分:0)
MSVC和MinGW不兼容ABI,因此您需要使用相同的编译器编译所有模块以避免此类问题。