[Kde-bindings] Re: Building on Mac OS X

Arno Rehn arno at arnorehn.de
Mon Mar 7 15:33:18 UTC 2011


On Monday 07 March 2011 16:20:25 Ben Skelton wrote:
> Hi Arno,
> 
> I've cleaned out all of my compiled from source QT and have installed the
> Framework from the Nokia site. I have also installed qwt 5.2.1.
> 
> * smokegen builds only with a few compiler warnings (just like before)...no
> worries
> 
> * smokeqt chugs along fine until it hits phonon and then throws a wobbly:
> > /Users/benskelton/Desktop/smokeqt/phonon/x_10.cpp: In static member
> > function ‘static void
> > __smokephonon::x_QGlobalSpace::x_1(Smoke::StackItem*)’:
> > /Users/benskelton/Desktop/smokeqt/phonon/x_10.cpp:18: error:
> > ‘Q_COMPLEX_TYPE’ was not declared in this scope
> > /Users/benskelton/Desktop/smokeqt/phonon/x_10.cpp: In static member
> > function ‘static void
> > __smokephonon::x_QGlobalSpace::x_2(Smoke::StackItem*)’:
> > /Users/benskelton/Desktop/smokeqt/phonon/x_10.cpp:21: error:
> > ‘Q_PRIMITIVE_TYPE’ was not declared in this scope
> 
> <snip>
> 
> This looks like the same set of errors I first got when trying to compile
> with a Framework a while back.
Yep, others are now experiencing the exact same thing. Everything compiles 
except phonon.

> grep finds Q_COMPLEX_TYPE declared in
> /Library/Frameworks/QtCore.framework/Headers/qglobal.h
> 
> If I run cmake with the verbose makefile option I see that QtCore headers
> are included and I can confirm that they are in the right place.
> 
> I remember reading on the list once about smoke perhaps not following
> symlinks correctly. /Library/Frameworks/QtCore.framework/Headers is a
> symlink to /Library/Frameworks/QtCore.framework/Versions/4/Headers. I
> removed the symlink, cleaned ./phonon nut still get the error.
> 
> Strangely there are also a lot of undefined symbols such as 'LicensedSql',
> 'LicensedOpenGL', etc. grep doesn't find these symbols in any of the
> installed headers.
These are generated by some macros in qglobal.h. They are included in every 
smoke library. I'm not sure yet why it doesn't work. Fact is that smokegen 
doesn't pick up any phonon header, only the qglobal.h header file. g++ on the 
other hand doesn't seem to find *anything*, not even qglobal.h (or rather, the 
preprocessor is doing some weird stuff. It doesn't seem to include any header, 
except smoke.h and phonon_includes.h, without any contents). At least that's 
what I gathered from looking at the output of g++ -E.
 
> I checked CMakeCache.txt to check that cmake is picking up the correct
> framework installed QT and not some stray left over somewhere. Everything
> looks fine there.
For the moment, you can disable the phonon bindings by passing
-DDISABLE_Phonon=TRUE
to cmake. Everything else should compile fine.

-- 
Arno Rehn
arno at arnorehn.de



More information about the Kde-bindings mailing list