CppDepend: A C++ Dependency Analyser
I evaluated the dependency analyser CppDepend on a real-life embedded application. My goal was to find all dependency cycles between classes in the application. I… Read More »CppDepend: A C++ Dependency Analyser
I evaluated the dependency analyser CppDepend on a real-life embedded application. My goal was to find all dependency cycles between classes in the application. I… Read More »CppDepend: A C++ Dependency Analyser
In a webinar organised by The Qt Company on 8 July 2020, I showed how QtCreator builds an embedded application against a Qt SDK encapsulated in a Docker container. QtCreator doesn’t know which Yocto version was used for building the Qt SDK and which environment variables must be set for the SDK. QtCreator forwards the CMake calls for configuring, building and staging the application to the container, which executes these calls in the right environment.
Read More »Webinar: Building Embedded Applications from QtCreator with DockerWe want to develop the Internet radio application for the Raspberry Pi in the same way as for a PC. We change the source code in QtCreator and run the application. QtCreator cross-builds the application on the PC for the Raspberry Pi, deploys it with SSH to the Pi and runs it on the Pi. We need a Qt SDK for this to work. In addition to the target libraries from the Linux image, the Qt SDK contains the library headers, a cross-compiler, a cross-linker, a cross-debugger and more.
Read More »Qt Embedded Systems – Part 2: Building a Qt SDK with YoctoIn Part 1 of the series on Qt Embedded Systems, we build a custom Linux image with Yocto for the Raspberry Pi 3B. When we… Read More »Qt Embedded Systems – Part 1: Building a Linux Image with Yocto
The book Accelerate – Building and Scaling High Performing Technology Organizations by Nicole Forsgren et al. is an eye opener and game changer for everyone involved in software development. Nicole provides empirical evidence why teams that apply best practices like test and deployment automation, continuous integration, loosely coupled architectures and team empowerment by far outperform teams that don’t. Following the practices of the Agile Manifesto, eXtreme Programming and Scrum enables teams to deliver software both faster and with higher quality than teams ignoring these practices. Trade-offs between speed and quality are debunked as lame excuses.
Read More »Book Review: “Accelerate” by Nicole Forsgren et al.On your development PC, you simply hit Ctrl+R (Run) in QtCreator to build and run your Qt application. When you want to run the application on an embedded system, you must perform four tasks:
scp
.Wouldn’t you love to hit Ctrl+R in QtCreator and to have QtCreator perform the above four steps for you? Of course, you would! I’ll show you how in this post. Running an application on an embedded system will be the same as running the application on a PC.
Read More »Docker Builds from QtCreatorOn 8 April 2020, Olaf Schmidt-Wischhöfer wrote in an email to the KDE community (emphasis mine):
[…] last week, [The Qt Company] suddenly informed both the KDE e.V. board and the KDE Free QT Foundation that the economic outlook caused by the Corona virus puts more pressure on them to increase short-term revenue. As a result, they are thinking about restricting ALL Qt releases to paid license holders for the first 12 months.
To be clear: Nothing has been decided yet. I certainly hope that this “thinking” by The Qt Company remains just that: thinking. But I am not quite sure.
Read More »FOSS Qt Releases Delayed by up to 12 Months?In my recent post Benefits of a Relocatable Qt, I explained how to relocate Qt from a build server to a developer PC and from the PC to an embedded system. Qt is installed in three different locations. My solution has two small deficiencies. First, it sets the install rpath to an absolute path and restricts the installation to this absolute path. Second, it forces us to create a tarball of the installation directory on the PC manually. Let us fix these two deficiencies.
Read More »Creating Simple Installers with CPackBob builds Qt for the development team on a fast compute server. He packs Qt into a tarball and hands the tarball to his teammates. Alice installs the Qt tarball on her PC in a directory that differs from the installation directory used by Bob. As the target embedded system runs on an AMD Ryzen SoC with x86_64 architecture like the build server and the development PC, Alice installs Qt on the target system – yet in another directory. She can then try out the latest changes of her app directly on the target system. As Qt is relocatable since version 5.14, Alice’s and Bob’s jobs have become quite a bit easier.
Read More »Benefits of a Relocatable Qt