如何在Linux中使用COM ATL项目

How can I use COM ATL project in Linux?

本文关键字:COM ATL 项目 Linux      更新时间:2023-10-16

我有一个小的c++库,它是作为ATL项目在Visual Studio。我想把它做成跨平台的。它将在Windows和Linux中使用。它将包含在我的项目中,它使用Qt 4.x。如何方便地转换库?

简短的回答:不容易。

长话短说:COM技术是一种专有的Windows技术,而ATL是建立在它之上的。这意味着你不能在linux下编译/运行它,除非你使用Wine或类似的东西。

可以做的是:您可以切换到XPCOM—COM技术的跨平台实现,由Mozilla平台实现。COM和XPCOM在Windows下是二进制兼容的(但只有在XPCOM上使用- MS Windows COM不知道Mozilla的XPCOM)。

我不确定您是否能够使用XPCOM而不是COM作为基础编译任何 ATL代码(但我对此表示怀疑),如果您使用XPCOM,您最好使用XPCOM GUI(使用与Mozilla/Firefox相同的代码)而不是Qt。

这意味着使用Javascript和XUL实现GUI。