Frameworks/Windows
This page tracks the status of KDE Frameworks on Microsoft Windows.
I have only tested with MSVC2010 32-bit.
Tier 1
Working: itemmodels, itemviews, kplotting, kcodecs, kguiaddons, kidletime, kwidgetsaddons, sonnet. More details later.
The rest are currently disabled in CMake. This means you can build kdelibs as a whole with no errors at the moment, but only because the non-working parts are being skipped...
ItemModels
Builds, no warnings. The autotests are currently disabled on all platforms and there are no manual tests, so I haven't tested if it works.
ItemViews
Builds, only some deprecated warnings. Unit test passes. Manual tests work fine. kwidgetitemdelegatetest shows a bug that is probably cross‐platform (will report later).
KWidgetsAddons
Builds with no relevant warnings, unit tests pass. There's many manual tests; I haven't carefully tested them all yet.
ThreadWeaver
Builds, tests pass.
KCoreAddons
KRandom fails to build due to the use of unistd.h and getpid(). KDirWatch also fails; several portability fixes were done, but still not enough:
tier1\kcoreaddons\src\lib\randomness\krandom.cpp(25) : fatal error C1083: Cannot open include file: 'unistd.h': No such file or directory tier1\kcoreaddons\src\lib\io\kdirwatch.cpp(845) : error C3861: 'QT_LSTAT': identifier not found tier1\kcoreaddons\src\lib\io\kdirwatch.cpp(846) : error C2065: 'QT_STAT_LNK': undeclared identifier tier1\kcoreaddons\src\lib\io\kdirwatch.cpp(1294) : error C3861: 'nlink_t': identifier not found
Note that this code would have never worked on Windows directly. It only ever worked thanks to the use of kdewin to provide compatibility headers.
A fix for the LSTAT/STAT_LNK errors was submitted in Review 113376.
KDirWatch also has some code working around a Windows limitation, which is obsolete because QFileSystemWatcher already implements the same workaround. But getting things to compile should be a priority over removing that.
KWindowSystem
Hundreds of errors casting WId to HWND in Windows‐specific code.
KArchive
Not tested yet, due to external dependencies for compression (didn't get around to installing them yet).
KJS
Not tested yet due to PCRE dependency.