2013-04-22 54 views
4

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

+0

即使你在监狱里长期服刑,我也不会推荐这样的尝试。 – SChepurin 2013-04-22 09:23:48

回答

2

简答:不容易。

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

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

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

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