[cairo] cairomm 1.6.0 fails with cairo 1.6.4 + quartz on Mac OS X

Benjamin Reed rangerrick at gmail.com
Fri Apr 25 08:24:16 PDT 2008


On Fri, Apr 25, 2008 at 11:13 AM, Vladimir Vukicevic <vladimir at pobox.com> wrote:

>  Yep, X tends to #define lots of very generic things (like "Status" or
> "Picture") which causes breakage if they're used in pretty much any context
> (e.g. C++ member function name, enum value, parameter name, etc.).  In
> general, a file that includes X libs shouldn't include anything from any
> other platform, or pain will result.  You can try #undef'ing all the bits
> that it's complaining about..

Yeah, I've tried #undef'ing everything I could, but it still freaks
out.  The "Cursor" one is a typedef/struct conflict.

/usr/X11R6/include/X11/X.h:typedef XID Cursor;
/System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/QuickdrawTypes.h:struct
Cursor {

:(

>  Yeah, but in cairo no file ever includes both X and quartz includes.  (Or X
> and win32 includes, where a similar collision appears.)

I don't know this is solveable without somehow splitting up the logic
into platform-specific bits in the cairomm code and then linking it
all together, from what I can tell.


-- 
Benjamin Reed a.k.a. Ranger Rick
Fink, KDE, and Mac OS X development
http://www.racoonfink.com/


More information about the cairo mailing list