Windows/Build/patches

From KDE Community Wiki

This is a temporary page for KDE on Windows which needs no translation.

Please add new patches that are related to Windows builds and might be interesting to the developer community in any way up here with a short description, the next number and within an ever-lasting pastebin.


1) http://pastebin.com/f5f09c9dc - When compiling kdebase-runtime, mingw segfaulted (The compiler) when it got to this file. I pinpointed it to the four lines that are commented out with this patch. Steven

2) http://pastebin.com/f55a5fb2b - trying to compile phonon ds9 with mingw, these changes were needed to at least get to the linker errors. patrick

As an addon to patch 2, I tried everything I could and failed to get phonon to compile with ds9 under mingw, I'm guessing it's just a dx/mingw compatibility problem. - Steven

3) http://pastebin.com/f669db538 - With that being said, here's a really big and dirty patch (As in, I recommend not using it, other than to look at for where Amarok fails) to make Amarok compile under mingw. Most of it is moving function definitions to public (Friend classes weren't being recognized as friends), commenting out StatusBar useage (Inline and dll didn't want to work together, kept crashing mingw on me), and adding includes (Couple widgets used QDir if Q_WS_WIN was defined, but didn't include the QDir header). Also in regards to a backend for Phonon, I managed to compile mplayer/vlc backends, where do I put the DLL's so that Phonon will use them? And does Amarok correctly use Phonon to play audio? Steven

I think most of these issues are already fixed:
* #include <QDir> is safe in every OS, no need to special case for Q_OS_WIN
* The problem with statusBar was it was "inline KDE_EXPORT statusBar()" in one place but "inline statusBar()" in another, therefore the symbol was not being exported.
* The problem with Plasma had two possible approaches: add Q_DISABLE_COPY(Containment) in containment.h or remove Q_DISABLE_COPY(Applet). I committed the former and aseigo the latter. As he is more knowledgeable of Plasma than I, I asked him to revert my commit.
 -- pgquiles
 

4) http://pastebin.com/f3bafc98e - Here's the rather hacked together mplayer/vlc backend, found it on some Google page but it was configured to compile with a different version of Phonon, so I messed around with it until it compiled, dunno how well it would work, but it might help with testing things out for now. Also, I'm not sure of the exact changes between the files I got (http://code.google.com/p/phonon-vlc-mplayer/wiki/Building) and these files. Extract this archive to svn/kdesupport/phonon/ http://www.filedropper.com/vlc-mplayer Steven

5) http://pastebin.ca/1036903 - This patch makes the Phonon DirectX 9.0 backend build with Visual C++ 2005 in KDE. It's against KDE trunk. Tested with DirectX SDK March 2008, Visual C++ 2005 SP1 + Feature Pack and Platform SDK 6.0A but it should work with other DirectX SDKs and Platform SDKs.

6) http://pastebin.com/f69b46b0c - Same patch as #5 but it also makes the Phonon DirectShow 9 backend available for KDE applications. It's an ugly hack and needs to be modified to fit the two possible scenarios (Phonon DS9 Qt-only and Phonon DS9 KDE), a few #ifdef's should suffice for that.

7) http://pastebin.com/f3d35429f - This patch will let kdebase-runtime build in mingw. It just skips over the kdebase/runtime/phonon/kcm folder if you're using mingw (That folder causes mingw to segfault) - Steven