Jump to content

Frameworks/Windows: Difference between revisions

From KDE Community Wiki
Nalvarez (talk | contribs)
Add ThreadWeaver (now that I committed a fix).
Nalvarez (talk | contribs)
KCoreAddons: Mention the pending review for a KDirWatch fix
Line 78: Line 78:


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.
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 [https://git.reviewboard.kde.org/r/113376/ 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.
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.

Revision as of 23:50, 21 October 2013

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.