Win32 Progress

December 27, 2007 at 12:26 pm | Posted in KDevelop | 4 Comments

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.


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

  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.

  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

  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.

Sorry, the comment form is closed at this time.

Blog at
Entries and comments feeds.

%d bloggers like this: