[PyQt] SIP: name collision for ANY
Josh Knox
jknox at irobot.com
Mon Apr 19 22:25:47 BST 2010
sip.h has a "#define ANY void".
I'm trying to build a binding for an OpenSceneGraph Qt widget. In some
OSG header they use "ANY" as an element in an enum.
When trying to build the binding, which includes the header with the ANY
enum it dies with:
error: expected identifier before ‘void’
This is easily reproduced by using the word "ANY" in any non comment C++
code used in a binding.
I made the following patch in my sandbox to get around the issue, so
that ANY is only defined for SIP v3:
%> diff -u sip.h sip.h.new
--- sip.h 2010-04-19 17:22:20.000000000 -0400
+++ sip.h.new 2010-04-19 17:22:10.000000000 -0400
@@ -171,9 +171,11 @@
/* Some compatibility stuff to help with handwritten code for SIP v3. */
+#if SIP_API_MAJOR_NR == 3
#if !defined(ANY)
#define ANY void
#endif
+#endif
Is that a valid work-around for this issue?
Thanks,
Josh
More information about the PyQt
mailing list