[PyQt] [SIP] Compilation errors after upgrade to version 4.19.14

Antoine Lambert antoine.lambert33 at gmail.com
Sat Mar 2 14:28:38 GMT 2019


You were right, some of my sip files were out of sync with the C++ header
files.

Since the adding of the override keyword in the generated bindings code,
the signature of the virtual
methods must not differ between files. I had some methods whose signatures
were missing some
const keywords for instance. I managed to fix all of that, gory details can
be found here:
https://github.com/anlambert/tulip/commit/5cab5e2aeab0f30491d9e7d812d941bcdadc3f16

Sorry for the noise.

Best regards

Le sam. 2 mars 2019 à 10:23, Phil Thompson <phil at riverbankcomputing.com> a
écrit :

> On 1 Mar 2019, at 7:38 pm, Antoine Lambert <antoine.lambert33 at gmail.com>
> wrote:
> >
> > Hi,
> >
> > I wanted to upgrade sip to its latest upstream version for generating
> the Python bindings of the Tulip graph visualization framework. But the
> newly generated bindings code fails to compile and the following type of
> errors are reported.
> >
> > [ 80%] Building CXX object
> library/tulip-python/bindings/tulip-core/CMakeFiles/tulip-core-python-bindings.dir/sip_tulippart6.cpp.o
> >
> /home/antoine/dev/tulip_build/library/tulip-python/bindings/tulip-core/sip_tulippart4.cpp:12799:10:
> error: ‘bool siptlp_GraphProperty::setAllNodeStringValue(const string&,
> tlp::Graph*)’ marked ‘override’, but does not override
> >  void siptlp_GraphProperty::treatEvents(const std::vector<
> ::tlp::Event>& a0)
> >           ^~~~~~~~~~~~~~~~~~~~~
> >
> /home/antoine/dev/tulip_build/library/tulip-python/bindings/tulip-core/sip_tulippart4.cpp:12800:10:
> error: ‘bool siptlp_GraphProperty::setStringValueToGraphNodes(const
> string&, tlp::Graph*)’ marked ‘override’, but does not override
> >  {
> >           ^
> >
> /home/antoine/dev/tulip_build/library/tulip-python/bindings/tulip-core/sip_tulippart4.cpp:12803:10:
> error: ‘bool siptlp_GraphProperty::setAllEdgeStringValue(const string&,
> tlp::Graph*)’ marked ‘override’, but does not override
> >
> >           ^
> >
> /home/antoine/dev/tulip_build/library/tulip-python/bindings/tulip-core/sip_tulippart4.cpp:12804:10:
> error: ‘bool siptlp_GraphProperty::setStringValueToGraphEdges(const
> string&, tlp::Graph*)’ marked ‘override’, but does not override
> >      sipMeth =
> sipIsPyMethod(&sipGILState,&sipPyMethods[1],sipPySelf,SIP_NULLPTR,sipName_treatEvents);
> >           ^~~~~~~~~~~~~~~~~~~~~~~~~~
> >
> /home/antoine/dev/tulip_build/library/tulip-python/bindings/tulip-core/sip_tulippart4.cpp:12807:20:
> error: ‘std::__cxx11::string
> siptlp_GraphProperty::getNodeStringValue(tlp::node)’ marked ‘override’, but
> does not override
> >      {
> >                     ^
> >
> /home/antoine/dev/tulip_build/library/tulip-python/bindings/tulip-core/sip_tulippart4.cpp:12808:20:
> error: ‘std::__cxx11::string
> siptlp_GraphProperty::getEdgeStringValue(tlp::edge)’ marked ‘override’, but
> does not override
> >           ::tlp::GraphProperty::treatEvents(a0);
> >                     ^~~~~~~~~~~~~~~~~~
> >
> /home/antoine/dev/tulip_build/library/tulip-python/bindings/tulip-core/sip_tulippart4.cpp:15527:10:
> error: ‘void siptlp_CoordVectorProperty::copy(tlp::CoordVectorProperty*)’
> marked ‘override’, but does not override
> >
> > If you want to reproduce the issue, I have pushed a branch on GitHub:
> https://github.com/anlambert/tulip/tree/tulip-python-sip-4.19.14
>
> As far as I can tell your .sip files are out of sync with your .h files.
>
> For example, in GraphProperty.sip does not define a
> setAllNodeStringValue() method, but GraphProperty.h does.
>
> Phil
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.riverbankcomputing.com/pipermail/pyqt/attachments/20190302/9bcff418/attachment.html>


More information about the PyQt mailing list