5

我有一个小型 C++ 库,它是在 Visual Studio 中作为 ATL 项目制作的。我想让它跨平台。它将用于 Windows 和 Linux。它将包含在我使用 Qt 4.x 的项目中。如何轻松转换库?

4

1 回答 1

2

简短的回答:不容易。

长答案: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 。

于 2013-04-22T09:10:22.133 回答