Win32 Progress

December 27, 2007 at 12:26 pm | In KDevelop |

The last few days I spent again some time on porting kdevelop4 to win32. The first try was with mingw compiler, but the debugging techniques with that compiler are really poor. I don’t like the gdb console interface, especially that I can’t easily see breakpoints directly in the source code. I’ve tried a few visual debuggers but none really worked well.

So I decided to do the registration crap with M$ to re-activate my MSVC 2005 Express Edition. Along the way I found a strange bug in building qdbus here and also a shortcoming in the windbus cmake files (which got fixed meanwhile by Ralf Habacker). This time I used the emerge building-script for the first time and I’m quite impressed. It comes really close to what kdesvn-build provides for linux.

The larger task however was fixing all those little things where MSVC errors out because its often a lot pickier about correct code, like having no return statement in a non-void function. Unfortunately I’m stuck on the C++ part with a really strange linking problem (which doesn’t occur on mingw of course). If you’re interested have a look at the thread on the kde-windows mailinglist.

I also tried to replace the CommonC++ dependecy in the Teamwork plugin, but unfortunately I failed because of my lack of understanding how implicit-sharing and especially the WeakReference-stuff in the network library works. So still no win32 port for that plugin :( If anybody wants to have a try, there’s a “starting patch” that replaces the server-classes from CommonC++ with the eqiuvalent from Qt.

Alltogether it wasn’t that much effort (most of the problems where with the duchain and c++ support), though the gdb-part is not ported yet. I’m waiting for Vladimir to finish the threaded-debugger effort before starting that port.

4 Comments »

RSS feed for comments on this post. TrackBack URI

  1. Why don’t try to use eclipse + mingw + qt eclipse integration ?

    Comment by yannick — December 27, 2007 #

  2. I did try eclipse, in fact that was the first thing I tried. But eclipse doesn’t seem to be able to set breakpoints in plugins and I don’t see how the Qt integration would change it. The Qt integration mostly adds support for QMake projects and integration of the designer.

    Comment by apaku — December 27, 2007 #

  3. I looked at the thread: “. Unfortunately I’m stuck on the C++ part with a really strange linking problem”… If you want to see the link line with cmake and nmake, you can edit Moduled/Platform/Windows.cmake at the bottom of the file there are some lines you can uncomment to have the full link links printed. As for the error, I would check for declared methods in the header file that are not implemented in the .cxx file

    Comment by Bill Hoffman — December 28, 2007 #

  4. Hehe, sorry to waste your time, totally forgot to put a comment here :)

    Its been fixed meanwhile with the help of Jaroslaw Staniek. The cause where typedefs of a KShared-subclass that only had forward declarations, i.e.

    class Foo;
    class MyClass : public KShared {};
    typedef MyClass FooPointer;

    After adding some include’s to that header it all went fine.

    Comment by apaku — December 28, 2007 #

Leave a comment

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Blog at WordPress.com. | Theme: Pool by Borja Fernandez.
Entries and comments feeds.