[PyQt] PyQt5 Snapshot, build problems and their solutions, Windows, mingw
Phil Thompson
phil at riverbankcomputing.com
Wed Jun 12 14:13:15 BST 2013
On Sun, 12 May 2013 22:42:23 +0200, Mathias.Born at gmx.de wrote:
> Hi,
>
> I've compiled the latest PyQt5 snaphot, on 32bit python 3.3.1 (compiled
> with mingw, using a self-made
> build script based on scons), Windows7, Qt 5.1alpha.
>
> I've used this configuration step:
>
> D:\_cpp_projects_\Python\Python-3.3.1\.build_release\python.exe
> configure.py --no-docstrings --confirm-license -u --spec=win32-g++
> --verbose --trace --sip="D:\_cpp_projects_\Python\Python-3.3.1\sip.exe"
> LFLAGS+="-LD:\_cpp_projects_\Python\Python-3.3.1\.build_debug
> -LD:\_cpp_projects_\Python\Python-3.3.1\.build_release" DEFINES+=_DEBUG
>
> (It's necessary to include the release version of the python lib even in
> debug build for the designer
> plugins.)
>
> I've run into a number of problems:
>
> (1)
> PyQt's configure.py autoamtically assumes certain MS-compilers on the
> win32 platform, in
> TargetConfiguration.__init__():262 and following:
>
> # The default qmake spec.
> if sys.platform == 'win32':
> if self.py_version >= 0x030300:
> #self.qmake_spec = 'win32-msvc2010'
> ---- self.qmake_spec = 'win32-g++'
> elif self.py_version >= 0x020600:
> self.qmake_spec = 'win32-msvc2008'
> elif self.py_version >= 0x020400:
> self.qmake_spec = 'win32-msvc.net'
> else:
> self.qmake_spec = 'win32-msvc'
> else:
> # Use the Qt default. (We may update it for MacOS/X later.)
> self.qmake_spec = ''
>
> I had to make the marked change to get around that for my mingw-based
> python. It would be nice
> if there was an option to influence that.
I don't understand why this is needed. Using the --spec option should do
that.
> [Motivation: I must embedd the python interpreter, and I want to get
away
> from MS Visual Studio,
> because it is becoming slower with each version. Hence I'll have to
> compile python myself using
> mingw, which is non-standard.]
>
>
> (2)
> All makefiles attempt to build all DLLs without referring to the python
> DLL. Adding
> "-lpython33_d" to each Makefile.Debug and "-lpython33" to
Makefile.Release
> solves this.
>
> I tried adding LFLAGS_DEBUG+="-lpython33_d" as parameter to the
configure
> script, but it had
> no effect on the makefiles.
>
> (3)
> The final debugging versions of the DLLs get the wrong names. They all
> miss the trailing "_d".
> This way they can't be imported, unless manually renamed arcordingly.
Try tonight's snapshot.
Phil
More information about the PyQt
mailing list