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

Erik Janssens erik.janssens at conceptive.be
Mon Dec 3 08:34:06 GMT 2018


Hello Phil,

I was able to work around this, by changing configure.py of PyQt, and
modifying line 2456 from :

py.platform == 'win32'

to

py.platform.startswith('win32')

since the platform is 'win32-g++'.

Grts,

Erik

On 02.12.18 20:37, Erik Janssens wrote:
> 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/20181203/c971dd04/attachment.html>


More information about the PyQt mailing list