[PyQt] Compiler error using mingw : invalid new-expression of abstract class type ‘sipQAbstractEventDispatcher’

Erik Janssens erik.janssens at conceptive.be
Sun Dec 2 19:37:18 GMT 2018


Hi,

I'm trying to cross compile PyQt using mingw 32bit.

- Using Qt 5.11.2 cross compiled with mingw
- Using sip 4.19.13 cross compiled and native compiled to have sip on 
the path
- Using PyQt 5.11.3

I've built sip using the qmake chain, with these options :

    python configure.py --use-qmake --target-py-version=3.4.4
    --sysroot=/home/tw55413/workspaces/qt/sip/ -p win32-g++
    --configuration config.txt --sip-module PyQt5.sip --no-tools
    LIBS=-lpython34 -d /home/tw55413/workspaces/qt/sip-install/
    --no-stubs --no-dist-info


And configured PyQt with :

    python3 configure.py
    --destdir=/home/tw55413/workspaces/qt/sip-install/
    --no-designer-plugin --no-dist-info --no-docstrings --no-python-dbus
    --no-sip-files --no-stubs --no-tools --qmake
    /home/tw55413/workspaces/qt/mingw_64/bin/qmake --sip-incdir
    /home/tw55413/workspaces/qt/sip/sip-4.19.13/siplib/ --configuration
    config.txt --target-py-version 3.4.4 --verbose LIBS+=-lpython34
    LIBS+=-L/home/tw55413/workspaces/qt/python/libs
    INCLUDEPATH+=/home/tw55413/workspaces/qt/sip/sip-4.19.13/siplib/
    --sip
    /home/tw55413/workspaces/qt/sip/sip_native/sip-4.19.13/sipgen/sip
    QMAKE_CXXFLAGS+=-D_hypot=hypot

    Detection of the Qt libraries looks good

    After running 'make' the first few files compile, but then I get a
    compile error :

    /home/tw55413/workspaces/qt/pyqt/PyQt5_gpl-5.11.3/QtCore/sipQtCoreQAbstractEventDispatcher.cpp:
    In function ‘void*
    init_type_QAbstractEventDispatcher(sipSimpleWrapper*, PyObject*,
    PyObject*, PyObject**, PyObject**, PyObject**)’:
    /home/tw55413/workspaces/qt/pyqt/PyQt5_gpl-5.11.3/QtCore/sipQtCoreQAbstractEventDispatcher.cpp:1137:56:
    error: invalid new-expression of abstract class type
    ‘sipQAbstractEventDispatcher’
                  sipCpp = new sipQAbstractEventDispatcher(a0);
                                                             ^
    /home/tw55413/workspaces/qt/pyqt/PyQt5_gpl-5.11.3/QtCore/sipQtCoreQAbstractEventDispatcher.cpp:97:7:
    note:   because the following virtual functions are pure within
    ‘sipQAbstractEventDispatcher’:
      class sipQAbstractEventDispatcher : public ::QAbstractEventDispatcher
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from
    /home/tw55413/workspaces/qt/pyqt/PyQt5_gpl-5.11.3/sip/QtCore/qabstracteventdispatcher.sip:26:0:
    ../../../mingw_64/include/QtCore/qabstracteventdispatcher.h:100:18:
    note:       virtual bool
    QAbstractEventDispatcher::registerEventNotifier(QWinEventNotifier*)
          virtual bool registerEventNotifier(QWinEventNotifier
    *notifier) = 0;
                       ^~~~~~~~~~~~~~~~~~~~~
    ../../../mingw_64/include/QtCore/qabstracteventdispatcher.h:101:18:
    note:       virtual void
    QAbstractEventDispatcher::unregisterEventNotifier(QWinEventNotifier*)
          virtual void unregisterEventNotifier(QWinEventNotifier
    *notifier) = 0;
                       ^~~~~~~~~~~~~~~~~~~~~~~
    make[2]: *** [Makefile.Release:1563:
    release/sipQtCoreQAbstractEventDispatcher.o] Error 1
    make[2]: Leaving directory
    '/home/tw55413/workspaces/qt/pyqt/PyQt5_gpl-5.11.3/QtCore'
    make[1]: *** [Makefile:36: release] Error 2
    make[1]: Leaving directory
    '/home/tw55413/workspaces/qt/pyqt/PyQt5_gpl-5.11.3/QtCore'
    make: *** [Makefile:42: sub-QtCore-make_first-ordered] Error 2


Any ideas ?

Thanks,

Erik
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.riverbankcomputing.com/pipermail/pyqt/attachments/20181202/7a6f04fd/attachment.html>


More information about the PyQt mailing list