我正在开发一个潜在的跨平台 C++ 应用程序,对于 Windows 和 OS X,Cairo 似乎可以满足我对 2D 图形的大部分需求,并允许我在平台之间共享大量代码。在一个理想的世界中,我真的希望能够在 iPhone/iPad 应用程序中使用相同(或非常相似)的绘图代码。
我意识到这意味着在我尝试使用它之前我需要为 iPhone 编译 Cairo,但我对如何去做这件事并没有真正的想法。
如果有人能指出我正确的方向,我将不胜感激。
为了让那些碰巧尝试和我走同样路线的人更新这个,我从来没有编译过它(当我征求建议时,我没有从开罗邮件列表中得到太多回复)。对于 iOS 或 OSX,Cairo 似乎不是一个好主意。我最近看到这篇文章很清楚地表明它在 iOS 或 OSX 上不稳定。
我现在很高兴我决定放弃 Cairo 作为我的跨平台图形方法并采用自制/原生方法。虽然它需要更多的努力,但对于我想要实现的目标来说,这是一个很好的折衷方案。
在 Windows 上,我使用 Visual Studio 编译了 Cairo,如下所示:
由于 Cairo 将使用 Quartz 进行字体和文本处理,因此您不必编译 Pango(它具有 Glib 作为依赖项)和 FreeType。我认为 iPhone 的设置应该是相似的。
Vladimir Vukićević 博客中的这篇文章显示,Cairo 自 2008 年以来在 iPhone 上运行 :)