[cairo] cairomm 1.6.0 fails with cairo 1.6.4 + quartz on Mac OS X
Vladimir Vukicevic
vladimir at pobox.com
Fri Apr 25 08:13:07 PDT 2008
On Apr 25, 2008, at 8:06 AM, Murray Cumming wrote:
> On Thu, 2008-04-24 at 12:41 -0400, Benjamin Reed wrote:
>>
>> -DPIC -o .libs/context.o
>> /System/Library/Frameworks/CoreServices.framework/Frameworks/
>> CarbonCore.framework/Headers/MachineExceptions.h:255:
>> error: declaration does not declare anything
>
> I guess that MachineExceptions.h (or maybe X) is #defining something
> with a very generic name. Could you show us the code on and near that
> line to give us a clue?
>
> Hopefully you can work around it with some combination of #ifdef,
> #ifnded or #undef.
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..
>> I'm not sure how to untangle this stuff, is it impossible to support
>> both X and quartz in the same cairo installation?
>
> I guess so. If it works for cairo then it should work for cairomm.
Yeah, but in cairo no file ever includes both X and quartz includes.
(Or X and win32 includes, where a similar collision appears.)
- Vlad
More information about the cairo
mailing list