summaryrefslogtreecommitdiffstats
path: root/python/pyqt/README.SunOS
diff options
context:
space:
mode:
Diffstat (limited to 'python/pyqt/README.SunOS')
-rw-r--r--python/pyqt/README.SunOS44
1 files changed, 44 insertions, 0 deletions
diff --git a/python/pyqt/README.SunOS b/python/pyqt/README.SunOS
new file mode 100644
index 00000000..5b176c85
--- /dev/null
+++ b/python/pyqt/README.SunOS
@@ -0,0 +1,44 @@
+
+ o Compiler Error: CC -DHAVE_CONFIG_H -I. -I. -I..
+ -I/users/toollib/include/python2.0 -I/users/pyqt/install/sip-3.2.1/include
+ -I/users/pyqt/install/qt-x11-commercial-3.0.4/include -I/usr/openwin/include
+ -c qtcmodule.cpp -KPIC -DPIC -o qtcmodule.o
+ "sipqtProxyqt.h", line 113: Error: Multiple declaration for
+ sipProxyqt::proxySlot(int).
+ "qtcmodule.cpp", line 5393: Error: sipProxyqt::proxySlot(int) already had a
+ body defined.
+
+ This occurs because the Sun Workshop C++ 4.2 compiler (and the Sun Forte
+ C++ 6.x compiler with -compat) can not distinguish between 'bool' and 'int'
+ types in overloaded method signatures and issues a compiler error.
+ In this case bool is declared in qt/include/qglobal.h as
+ 'typedef int bool;'. To workaround this '#if 0' out the the declaration
+ and body of 'proxySlot(bool)' in PyQt/qt/sipqtProxyqt.h and
+ PyQt/qt/qtcmodule.cpp. This resolves the compiler error but breaks
+ any 'sig(bool)' type signals. To workaround this, save the
+ PyQt/qt/sipqtProxyqt.moc generated after fixing the compiler error and
+ add the following bits of code:
+
+ ...
+ static const QUParameter param_slot_42[] = {
+ { 0, &static_QUType_bool, 0, QUParameter::In }
+ };
+ static const QUMethod slot_42 = {"proxySlot", 1, param_slot_42 };
+ static const QMetaData slot_tbl[] = {
+ ...
+ { "proxySlot(bool)", &slot_42, QMetaData::Public }
+ };
+ metaObj = QMetaObject::new_metaobject(
+ "sipProxyqt", parentObject,
+ slot_tbl, 43,
+ ...
+ case 42: proxySlot(static_QUType_bool.get(_o+1)); break;
+
+ You will need to comment out the line in PyQt/qt/Makefile that re-generates
+ PyQt/qt/sipqtProxyqt.moc with moc to avoid the above changes from being
+ overwritten.
+
+ In order to test that everything has been done correctly, create a
+ toggle button and connect it's 'toggled(bool)' signal to a python slot,
+ if it works, your done!
+