[prev in list] [next in list] [prev in thread] [next in thread] 

List:       pykde
Subject:    [PyQt] PyQt5 Snapshot, build problems and their solutions, Windows, mingw
From:       Mathias.Born () gmx ! de
Date:       2013-05-12 20:42:23
Message-ID: 1342868896.20130512224223 () gmx ! de
[Download RAW message or body]

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.

[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.

Best Regards,
Mathias Born


_______________________________________________
PyQt mailing list    PyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic