QtCreator debug helper

Pau Garcia i Quiles pgquiles at elpauer.org
Sun Dec 26 16:48:12 CET 2010


Hello,

I'm trying to use QtCreator on Windows for KDE development. If you try
a snapshot, a new debugger for MSVC-compiled code is available:

http://www.mail-archive.com/qt-creator@qt.nokia.com/msg00014.html

In addition to install CDB, you need to build the debug helper
libraries. The way emerge currently builds and installs Qt makes it
impossible to build those helpers due to:

* Private Qt headers are required. I see two solutions to this:
    a) Build Qt with "-developer-build" parameter to configure
    b) Modify qt.conf to make the includedir point to the Qt source
directory. I think this is not a good idea.

* Debug libraries. Debug helpers are built for debug and release.
Currently, emerge only builds Qt in either debug or release
configuration. Ideally, we should build Qt in both release and debug
(add "-debug-and-release" to the configure parameters)

* Given that Qt in debug tries to link to OpenSSL and DBUS debug
libraries (with 'd' postix), we have two alternatives:
   a) Modify the Qt .pro files so that Qt is always linked to the
flavor of DBUS and OpenSSL configured in EMERGE_BUILDTYPE (be it
debug, release, relwithdebinfo, etc).
       - Advantages: only one build of DBUS and OpenSSL
       - Disadvantages: no DBUS or OpenSSL debug information once we
enter DBUS or OpenSSL libraries, potentially troublesome (requires
patching the Qt buildsystem depending on the configuration specified
on the command line / kdesettings.bat; what if it's changed after
building DBUS/OpenSSL/Qt ?)

   b) Build OpenSSL and DBUS in debug and release (release or relwithdebinfo)
        - Advantages: what Qt is expecting
        - Disadvantages: need to build and install DBUS and OpenSSL
twice. OpenSSL has the same libraryname in debug and release. DBUS
executables have the same name in debug and release. Emerge takes DBUS
and OpenSSL from the work directory, not from the installed directory
(according to the portage .py script, to avoid conflicting includes).

Another alternative is to add QtCreator and the debug helpers to
portage and modify the debug helper build system to build only debug
or release but I don't really like it and could be a maintenance
nightmare given the pace QtCreator is developed.

What's your advice?

-- 
Pau Garcia i Quiles
http://www.elpauer.org
(Due to my workload, I may need 10 days to answer)


More information about the Kde-windows mailing list