[PyQt] Problem with PyQt linking against static builds of Qt on Windows using MinGW

Marvin Greenberg (P) public.marvin at gmail.com
Wed Aug 1 22:28:09 BST 2007

I've built qt 4.3 statically on windows using MinGW.  Then (after 
messing around with PyQt 4.2 for a while) found and downloaded the 
updated PyQt 4.3.  What I want is dynamically loadable PyQt python 
modules, that simply include the static qt libraries.  configure.py 
realizes I have statically linked qt and tells me that I either have to 
do --static or --consolidated.  When I use --static the build runs to 
completion but the QtCore.pyd (for example) is only 5k and doesn't 
define any symbols.  When I use -g, the build fails while trying to 
create pylupdate4.exe with thousands of unresolved symbols.

Is linking against static libraries using minGw not particularly supported?

Here's my call to configure.py (more or less):
c:/python25/python configure.py -w -c -p win32-g++ -g

Here's the failing link line:

g++ -enable-stdcall-fixup -Wl,-enable-auto-import 
-Wl,-enable-runtime-pseudo-reloc -Wl,-subsystem,console -Wl,-s -o 
pylupdate4.exe fetchtr.o merge.o numberh.o sametexth.o main.o 
metatranslator.o proparser.o translator.o simtexth.o moc_translator.o 
-Lc:/tena_home/TENA/qt-v4.3/lib -lQtCore -lkernel32 -luser32 -lshell32 
-luuid -lole32 -ladvapi32 -lws2_32 -lQtGui -lgdi32 -lcomdlg32 -loleaut32 
-limm32 -lwinmm -lwinspool -lws2_32 -lole32 -luuid -luser32 -ladvapi32 

With some 2000 errors like:
undefined reference to `QBasicTimer::stop()'
undefined reference to `QBasicTimer::stop()'

If i reorder the libraries to -lQtXml -lQtGui -lQtCore, I get down to 
about 200 unresolved references,  most to things like __imp____iob, 
__filbuf, __errno, __imp__pctype


More information about the PyQt mailing list