如何在Linux中使用COM ATL项目?

时间:2013-04-22 09:00:46

标签: c++ linux com cross-platform atl

我有一个小的C ++库,在Visual Studio中作为ATL Project制作。我想让它跨越。它将用于Windows和Linux。它将包含在我的项目中,该项目使用Qt 4.x.我怎样才能轻松转换库?

1 个答案:

答案 0 :(得分:2)

简短回答:不容易。

答案很长:COM技术是一种独特的Windows技术,ATL就是建立在它之上的。这意味着你不能在linux下编译/运行它,除非你使用Wine或类似的东西。

以下是可以做的事情:您可以切换到XPCOM - 由Mozilla平台实施的COM技术的跨平台实现。 COM和XPCOM在Windows下是二进制兼容的(但只有在XPCOM中使用时 - MS Windows COM与Mozilla的XPCOM无关)。

我不确定你是否能够使用XPCOM而不是COM作为基础编译任何 ATL代码(但我怀疑它),如果你选择XPCOM,你会更好关闭使用XPCOM GUI(使用与Mozilla / Firefox相同的代码),而不是Qt。

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