­
­
­
­
­
­
­

Welcome to our September Newsletter

We bring you The cmake-project Script: Generating a CMake Project For a Single Executable in C++ followed by Fast Duplicate Tracking: DuplicateTracker Merged to KDToolBox and two meaty whitepapers, The practical programmer's guide to C++ 20 and How containers improve the way we develop software.

 

We also have an interview with Maurice Kalinowski on Qt 6.2 and Beyond, and a feast of Video releases including, How to get good looking demos - Integrating 3D Scenes and a brand new series, Multimedia with Qt.

 

Last but not least, there's a good deal of Event News, including the Qt World Summit, online in November.

 

But first. . .

 

KDAB is Hiring

We are looking for talented software engineers. If you think you have what it takes to join our community of excellence, let us know. 

 

Find out more

­
­
­
­
­
­
­
­
­
­
­
­

The cmake-project Script 

Generating a CMake Project For a Single Executable in C++

­
­
­

by David Faure

­

If you ever need to create a project around a single C++ file (or just a few C++ files) in CMake, as you might for quick test cases, you might find it tedious to write a CMakeLists.txt file by hand every time. 

 

To make this easier, I’ve written a script called cmake-project that you can use to generate an initial CMakeLists.txt for you. 

 

Read on . . .

­
­
­
­
­
­
­
­
­
­
­
­
­
­
­
­
­

Fast Duplicate Tracking

DuplicateTracker Merged to KDToolBox

­
­
­

by Marc Mutz

­

In 2019, I optimized QStringList::removeDuplicates() by using std::pmp::unordered_set with a std::pmr::monotonic_buffer_resource, when available. The class that I wrote to encapsulate this optimization has since been re-implemented three times. The latest iteration has recently landed in KDToolBox.

 

Read on, especially if you have code that looks a bit like this →.

­
­
­
­
­
­
­
­
­
­
­
­
­
­
­
­
­

Whitepapers

­

The practical programmer's guide to C++ 20

by Giuseppe D'Angelo and Ivan Čućik

­

The new standard has many changes that will mostly be of interest to library builders and language experts, things like consteval, constinit, no_unique_address, lambda function improvements, and others. These all help to improve the foundation of the language, make code more efficient or easier to write, close gaps in the standard, or lay groundwork for upcoming changes in C++23. But the six additions that we talk about in this whitepaper are the ones we think will make the biggest difference in the lives of practical programmers.

 

Read the whitepaper.

­
­
­
­
­
­
­
­
­
­

How containers improve the way we develop software

by Andrew Hayzen

­

Containers are known as an amazing tool for cloud development, allowing software to run reliably when moved from one computing environment to another. But there are many other ways in which they can improve our lives as developers. This article by KDAB's Andrew Hayzen, published in www.embedded.com, looks at how to use containers to their greatest advantage and how to work around problem areas when they arise. 

 

Read the whitepaper.

­
­
­
­
­
­
­
­
­
­
­
­

Qt 6.2 and Beyond

an Interview with Maurice Kalinowski, for KDAB News

­
­
­
­
­

Maurice, from The Qt Company, was going to talk about this for our Qt Developer Conference, but as you probably know, that got postponed to next June. So we invited Maurice to tell us something about the latest developments with Qt 6.2 in our summer edition of KDAB News. He gave us lots to think about.

 

Watch the interview on KDAB News.

­
­
­
­
­
­
­
­
­
­
­
­
­
­
­
­

Multimedia with Qt - a new series

­
­
­
­

Introduction & Parts 2 & 3

­

jean-Michäel Celerier introduces the series in Part 1 and defines what multimedia is. He gives an overview of the current state of tasks such as displaying videos, playing sounds and getting camera feeds, and an overview of the various libraries available to integrate with Qt. 

 

Other issues related to 

cross-platform multimedia such as codec support and hardware encoding / decoding are introduced.

 

Click on the images to go to each one, or check out the series so far. There will be 5 altogether.

 

­
­
­
­