PythonQt requires too much of Qt (i.e. webkit)
Dynamic Python binding for Qt Applications
Brought to you by:
florianlink,
marcusbarann
Dear All,
I tried to build PythonQt 3.0 but it seems it requires all Qt5 dlls including webkit. Looking at the code there isn't a way to select only some modules of Qt: it simply initalizes ALL!. I have a Qt commercial license and I can say building Qt including webkit (we need to build Qt since there isn't a pre-compiled version available for our compiler) it is quite tricky even with Qt support. So, please make PythonQt reasonably modular to select which Qt module take in account for building PythonQt! I can't believe it is not already like that.
Cheers,
Gianni
It's all there, you just need to modify PythonQt_All minimally.
If you want to make this nicer, go for it, it is all open source.
I know, but from one hand I would like to use an official version of pythonqt, second I hope you all accept suggestions to improve the actual version, right?
And yet, how to avoid mistakes?
g++ -c -pipe -fno-keep-inline-dllexport -O2 -std=gnu++0x -frtti -Wall -Wextra -fexceptions -mthreads -DUNICODE -DPYTHONQT_EXPORTS -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_QML_DEBUG -I. -I. -IC:\Python27/PC -I....\Python27\include -I. -I....\Qt\5.6\mingw49_32\include -I....\Qt\5.6\mingw49_32\include\QtWidgets -I....\Qt\5.6\mingw49_32\include\QtGui -I....\Qt\5.6\mingw49_32\include\QtANGLE -I....\Qt\5.6\mingw49_32\include\QtCore -Irelease -I....\Qt\5.6\mingw49_32\mkspecs\win32-g++ -o release\PythonQtStdDecorators.o PythonQtStdDecorators.cpp
In file included from C:/Qt/Tools/mingw492_32/i686-w64-mingw32/include/c++/random:38:0,
from C:/Qt/Tools/mingw492_32/i686-w64-mingw32/include/c++/bits/stl_algo.h:66,
from C:/Qt/Tools/mingw492_32/i686-w64-mingw32/include/c++/algorithm:62,
from ....\Qt\5.6\mingw49_32\include/QtCore/qglobal.h:85,
from ....\Qt\5.6\mingw49_32\include/QtCore/qatomic.h:34,
from ....\Qt\5.6\mingw49_32\include/QtCore/qrefcount.h:37,
from ....\Qt\5.6\mingw49_32\include\QtCore/qbytearray.h:37,
from ....\Qt\5.6\mingw49_32\include\QtCore/QByteArray:1,
from PythonQtUtils.h:48,
from PythonQt.h:45,
from PythonQtStdDecorators.h:47,
from PythonQtStdDecorators.cpp:42:
C:/Qt/Tools/mingw492_32/i686-w64-mingw32/include/c++/cmath:1094:11: error: '::hypot' has not been declared
using ::hypot;
^
Makefile.Release:1481: recipe for target 'release/PythonQtStdDecorators.o' failed
mingw32-make[2]: [release/PythonQtStdDecorators.o] Error 1
mingw32-make[2]: Leaving directory 'C:/pythonqt/src'
Makefile:34: recipe for target 'release' failed
mingw32-make[1]: [release] Error 2
mingw32-make[1]: Leaving directory 'C:/pythonqt/src'
makefile:85: recipe for target 'sub-src-makefirst-ordered' failed
mingw32-make: [sub-src-makefirst-ordered] Error 2***
Qt 5.6 open source.
Thank.
Last edit: Sergey 2016-05-29
Is there anyone, who has built PythonQt in Qt 5.6?
Yes, I use it with Qt 5.6. I added some fixes to the generator to the svn trunk of PythonQt to allow running the generator on Qt 5.6, it would crash on Qt 5.6 because there were some C++ templates that the parser could need understand. I did not yet commit the Qt 5.6 wrappers, but the Qt 5.4 wrappers should work as well.
But if you don't want to have QtWebKit, you need to modify the pro file of PythonQt_All.
Hi!
Tried to build with Qt 5.6, mingw32, trunk r431:
mingw32-make[2]: Entering directory 'C:/pythonqt/src'
g++ -c -pipe -fno-keep-inline-dllexport -O2 -std=gnu++0x -frtti -Wall -Wextra -fexceptions -mthreads -DUNICODE -DPYTHONQT_EXPORTS -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -I. -IC:\Python27/PC -I....\Python27\include -I. -I....\Qt\5.6\mingw49_32\include -I....\Qt\5.6\mingw49_32\include\QtWidgets -I....\Qt\5.6\mingw49_32\include\QtGui -I....\Qt\5.6\mingw49_32\include\QtANGLE -I....\Qt\5.6\mingw49_32\include\QtCore\5.6.0 -I....\Qt\5.6\mingw49_32\include\QtCore\5.6.0\QtCore -I....\Qt\5.6\mingw49_32\include\QtCore -Irelease -I....\Qt\5.6\mingw49_32\mkspecs\win32-g++ -o release\PythonQtStdDecorators.o PythonQtStdDecorators.cpp
In file included from C:/Qt/Tools/mingw492_32/i686-w64-mingw32/include/c++/random:38:0,
from C:/Qt/Tools/mingw492_32/i686-w64-mingw32/include/c++/bits/stl_algo.h:66,
from C:/Qt/Tools/mingw492_32/i686-w64-mingw32/include/c++/algorithm:62,
from ....\Qt\5.6\mingw49_32\include/QtCore/qglobal.h:85,
from ....\Qt\5.6\mingw49_32\include/QtCore/qatomic.h:34,
from ....\Qt\5.6\mingw49_32\include/QtCore/qrefcount.h:37,
from ....\Qt\5.6\mingw49_32\include\QtCore/qbytearray.h:37,
from ....\Qt\5.6\mingw49_32\include\QtCore/QByteArray:1,
from PythonQtUtils.h:48,
from PythonQt.h:45,
from PythonQtStdDecorators.h:47,
from PythonQtStdDecorators.cpp:42:
C:/Qt/Tools/mingw492_32/i686-w64-mingw32/include/c++/cmath:1094:11: error: '::hypot' has not been declared
using ::hypot;
^
Makefile.Release:1489: recipe for target 'release/PythonQtStdDecorators.o' failed
mingw32-make[2]: [release/PythonQtStdDecorators.o] Error 1
mingw32-make[2]: Leaving directory 'C:/pythonqt/src'
Makefile:34: recipe for target 'release' failed
mingw32-make[1]: [release] Error 2
mingw32-make[1]: Leaving directory 'C:/pythonqt/src'
makefile:85: recipe for target 'sub-src-makefirst-ordered' failed
mingw32-make: [sub-src-makefirst-ordered] Error 2
Nothing happens :((
I never tried building PythonQt with mingw, I think you are having problems with different compiler defines.
Thanks.
Hi Sergey, did you manage to find a workaround for this this? I modified cmath in mingw to comment out the includes and it was enough to allow me to build but was curious as to whether you found a cleaner fix since modifying the compiler is not my preferred resolution.
In this file:
I commented out these lines:
No, it is not found.