[PyKDE] gcc 2.96 again

Jim Bublitz jbublitz at nwinternet.com
Thu Mar 21 02:05:03 GMT 2002


There appears to be at least one remaining problem with gcc 2.96 in
PyKDE2. The kdecorecmodule.cpp compile will fail with the
following message:

  kdecorecmodule.cpp:2407: cannot convert `const void *(*) ()' to
  `const void *' in initialization
 
You can delete the following around 2407 in kdecoremodule.cpp:

static sipClassInstanceDef classInstances[] = 
    {sipName_kdecore_kapp, sipAccess_kapp, sipClass_KApplication,
     SIP_SIMPLE | SIP_ACCFUNC}, NULL};

if (sipAddClassInstances(sipModule.md_dict,classInstances) < 0)
                return NULL;

or you can try changing the struct declaration by adding a cast to
sipAccess_kapp:

static sipClassInstanceDef classInstances[] = {
    {sipName_kdecore_kapp, (const void*)sipAccess_kapp,
     sipClass_KApplication, SIP_SIMPLE | SIP_ACCFUNC},
     NULL};

I don't believe sipClass_KApplication needs a cast, but I'm not
sure.

I've had someone try the first and it seems to work. The downside
is that you lose access to the kapp global instance, but this
usually isn't a problem. I think the second will work, but I don't
have gcc2.96 to test it on. If someone would test it and report
back I would appreciate it. If it works, I can generate a fix for
it in the code before distribution.

Anybody else have any other gcc 2.96 problems?

The beta1 release fixed the only other gcc 2.96 related problems
I'm aware of.

Jim





More information about the PyQt mailing list