Learn how to create custom fmt::formatter specializations in C++ to enable readable, indented output for nested structs. This guide demonstrates using CRTP and helper utilities to format complex types with indentation levels, making logging with fmt and spdlog more human-friendly.
In this last episode on "Show me your IDE", we now look at visual studio code.
If you work on C++ projects on Windows that need to be built with multiple Visual Studio C++ compiler versions, you need some way to manage the installations of all these build environments. Either you have multiple IDEs installed, or you know about build tools (https://aka.ms/vs/17/release/vs_BuildTools.exe) and maybe keep only the latest full VS IDE […]
It's not always easy to find the right way to set up VS Code for Qt development on Windows. In this video, we will review the different steps needed, with a very concrete example. By following the steps in this video, you will be able to use VS Code as your main IDE for Qt development on Windows.
With your WSL (Windows Subsystem for Linux) set up for C++ and Qt development in the previous video (linked below), we'll now show you how to connect to WSL from Visual Studio Code running on your Windows host OS for painless cross-platform development.
If you're a C++ developer, with or without Qt, on Windows, and sometimes need to test your application on Linux, there's an easy way to build and test it without rebooting now. Microsoft introduced Windows Subsystem for Linux. A mechanism to run a lightweight virtual machine with a Linux distribution with just a few clicks with elegant integration with the host OS. I'll show you how to install it and configure for working with C++ and Qt applications.
Not all Qt developers are using Qt Creator as their main IDE for development. Some of us are using other IDEs, like Visual Studio, Visual Studio Code or CLion, per choice or because a project requires it. On Windows, with the MSVC compiler, the debugging experience with Qt 6 can be quite frustrating for some […]
Your Qt / C++ application is feature complete, you fixed all the bugs, and your unit-tests pass! Time to ship it and get on with your life. Unfortunately, then you start to get reports that it crashes for some people, sometimes, on some machines. But they can’t remember what they were doing. Or know what version they were running. Or whether they’re running macOS or Windows.
Wayland is a display protocol, a protocol (and accompanying C library) spoken by a graphical application with a display server in order to communicate about both input to the application (keyboard, mouse, ...) and about output from the application -- that is, the rendered window. Wayland was developed to replace the X11 server on the […]
Some time ago, I wrote about how to build C++ projects with ASAN on Windows. Now, if you happen to deal with Qt projects you may want to take this one step further and sanitize Qt itself. Why bother with a sanitized Qt build? Let's have a closer look on why having a sanitized Qt […]
The great content from Qt Desktop Days continued on day three. QML for Desktop If you’re building a desktop application today, should you consider building the UI with Qt Quick? That’s the question that KDABian Shantanu Tushar answers in this session. He walks us through the pros and cons of Qt Widgets versus Qt Quick, […]
The Windows Subsystem for Linux (WSL) is a tool that allows you to run your favorite command-line tools, utilities, and applications directly inside of Windows. This talk shows how to have a fully-featured Linux development environment on your Windows machine using WSL and other tools like VS Code Remote.
Memory bugs are tricky. Leaks have a clear impact on performance, and quickly become hard to spot when heap allocated objects move too much. Memory access bugs, on the other hand, make your program crash right away, if you're lucky. In less desirable cases, they may end up corrupting random objects on the heap, and […]
During Embedded World 2020 we answered visitors' questions via video because many people decided not to attend that year due to the Corona virus.
Have you ever noticed code highlighting disappearing in Qt Creator for some projects, without any apparent reason? Can't get Ctrl+Click to work on any class name or function name anymore? Maybe you have ignored it at first, got used to it, and decided it's just one of those things that just "happen sometimes"; or maybe […]
In the last days, I was once again trying to convince fellow programmers that there's no such thing as a "benign" data race. This is a recurring theme, in particular fueled by the docs of MSVC and Intel x86, which basically seem to say "you don't need atomics here". I perused the excellent papers Benign […]
Microsoft Windows has a long history of embedded operating systems going back to 1996, branded as Windows Embedded Compact, Windows Embedded CE, Windows CE, Windows Compact, Windows Phone, Windows Runtime, and an assortment of others. One of these fine platforms might even form the basis of your embedded product. Trouble is, with the shiny new […]
It has been a few months since my last update about the Windows Embedded Compact (WEC) port of Qt. But as I promised last time, I have been working on the WEC2013 support for Qt. Not only because it's the new embedded platform from Microsoft, but also because Qt wants to adopt more C++11 in […]
It has been very quiet around WEC platform support in Qt, and you would have been forgiven for thinking that nothing was happening. But behind the scenes, we have been tackling some pretty hard issues. We just did not blog about the ongoing work……until now. Be assured that the platform is still maintained and there […]
At KDAB, we believe that Qt's Open Governance model is a great way to ensure Qt will continue to thrive and be sustainably developed and maintained without relying on any individual stakeholder, no matter how committed. This model can only work if all those who have a strong commitment to Qt do their part and […]