On Sunday 13 June 2004 22:13, Troy Melhase wrote: > On Saturday 12 June 2004 11:55 am, Jim Bublitz wrote:
> In file included from sipkdecoreKConfigSkeletonItemEnum.h:33, > from sipkdecorepart0.cpp:54: > sipkdecoreQValueList.h:61:1: warning: "sipForceConvertTo_QValueList_1800" > redefined > In file included from sipkdecoreKConfigBase.h:42, > sipqtQValueList.h:38:1: warning: this is the location of the previous > definition > In file included from sipkdecoreKConfigSkeletonItemEnum.h:33, > from sipkdecorepart0.cpp:54: > sipkdecoreQValueList.h:62:1: warning: "sipConvertTo_QValueList_1800" > redefined In file included from sipkdecoreKConfigBase.h:42, > from sipkdecoreKConfig.h:31, > from sipkdecoreKConfigSkeletonItem.h:33, > from sipkdecoreKConfigSkeletonItemIntList.h:31, > from sipkdecorepart0.cpp:36: > sipqtQValueList.h:39:1: warning: this is the location of the previous > definition > In file included from sipkdecoreKConfigSkeletonItemEnum.h:33, > from sipkdecorepart0.cpp:54: > sipkdecoreQValueList.h:63:1: warning: "sipConvertFrom_QValueList_1800" > redefined > In file included from sipkdecoreKConfigBase.h:42, > from sipkdecoreKConfig.h:31, > from sipkdecoreKConfigSkeletonItem.h:33, > from sipkdecoreKConfigSkeletonItemIntList.h:31, > from sipkdecorepart0.cpp:36: > sipqtQValueList.h:40:1: warning: this is the location of the previous > definition All of the above are the same problem: they result from redefining QValueList<int> (which is defined in PyQt) as either QValueList<KConfigSkeleton::ItemEnum::Choice> or QValueList<pid_t>. The first is an enum, the second a typedef (from int I believe). The problem is that sip doesn't recognize enum <=> int in this case, or that pid_t <=> int in the kconfigbase.sip case, but g++ is seeing them all identically. It shouldn't be hard to fix this (I should be able to give each type variation a unique name/definition), but it's more steps than I'd want to write out in an email. > In file included from sip/kdecore/kmanagerselection.sip:69, > from sipkdecorepart0.cpp:74: > /usr/qt/3/include/qdockwindow.h:88: error: parse error before numeric > constant /usr/qt/3/include/qdockwindow.h:88: error: missing ';' before > right brace /usr/qt/3/include/qdockwindow.h:90: error: parse error before Please check kmanagerselection.sip and make sure all classes have the following %TypeHeaderCode blocks: %TypeHeaderCode #include <qdockwindow.h> #include <qvariant.h> #include <kmanagerselection.h> %End although from the line numbers in the error msg it appears they do. This appears to be a problem with the header files for kmanagerselection.h. Sticking in the q*.h files (which usually is unnecessary) fixed it here. For the moment the only thing I can suggest is going into sip/kdecore/kdecoremod.sip.in and commenting out the line as shown: // %Include kmanagerselection.sip which is probably what I'll end up doing for now. It takes a lot of time (recompiles) to figure these out, since they're usually just trial and error. I believe I only had this problem only when building with the '-i' switch to configure.py (no concatenation of C++ files). I can't duplicate either problem here, but I think I can come up with a solution that works generally. I'll need to do some testing on it though, so. I'll probably get to it sometime tomorrow. I'll release a new version (PyKDE-3.11.1) when I have that all completed. Since I don't get these errors, I'd be curious to know what distribution and gcc version you're running. Jim _______________________________________________ PyKDE mailing list [EMAIL PROTECTED] http://mats.imk.fraunhofer.de/mailman/listinfo/pykde
