PDA

View Full Version : Over 50 Qt5 open source libraries released



anda_skoa
9th July 2014, 16:15
KDE, the largest and oldest Qt based Free and Open Source software community, has just released over 50 Qt5 libraries:
http://kde.org/announcements/kde-frameworks-5.0.php

The libraries are free for usage in both FOSS applications as well as proprietary ones, and provide features ranging from addons to Qt modules, over functional blocks to platform integration and full fledged service based sub systems.

A list, as well as their supported platforms, can be found here
http://api.kde.org/frameworks-api/frameworks5-apidocs/

They are categorized into tiers, where a lower tier means fewer dependencies. A tier 1 framework, for example, does not have any dependencies other than Qt itself.

Cheers,
_

d_stranz
6th August 2014, 02:24
Man, I wish I had known about KLinkItemSelectionModel about 3 months ago before I beat my head bloody trying to link views with different proxy models. Likewise KModelIndexProxyMapper. I might just rip out all my code and use this instead.

d_stranz
7th August 2014, 02:26
One caveat - some of the libraries require a C++-11 compiler. The code can be patched in most cases so they will compile with a standard C++ compiler, but there are some files that use constructs only available in C++-11. There are also some external dependencies for Tier 1 that aren't always documented and aren't apparent until CMake configuration fails.

Otherwise, there are some very nice things in there.

anda_skoa
7th August 2014, 07:40
Well, most compilers these days support a common subset of C++11.
https://community.kde.org/Frameworks/Policies#Frameworks_compiler_requirements_and_C.2B .2B11

But some other things might have slipped into the code of course. If you are on a supported compiler and it does not build you could report the issue.

I am also sure suggestions on how to improve the dependency documentation would be welcome at as well :)
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel

Cheers,
_

d_stranz
7th August 2014, 19:40
I am stuck on Visual Studio 2008 for a bit longer, which does not support C++11 of course. Any day now I can put that in the bin and move on to VS 2013, but not yet.

Things which could be patched to work were uses of the "auto" keyword for local variable declaration, particularly in for() and foreach() expressions. To make these compile under the VS 2008, the type of the variable needed to be specified:



auto foo1 = new Foo(); // Does not compile
auto Foo * foo2 = new Foo(); // Does


Something I could not port backwards was the use of std::function<>. There is no current or deprecated functor template that I could find that would compile in the context where it was used (a test in kconfig, if I recall correctly). I didn't try very hard though, since it was a test and the library itself built without error.