Build your first KDE application on Kubuntu

From KDE Wiki Sandbox

Building your first KDE application using Kubuntu Linux 20.04

Overview

This document aims to provide an overview of the pre-requisites required to create, compile, and execute a simple KDE Application (windowed GUI application) using Kubuntu 20.04.

As most Linux distributions do not provide development packages by default, additional steps are required to get 'up and running' and be able to create a KDE Qt application, quickly.

Pre-requisites

It is assumed that a 'Minimal' installation of Kubuntu is performed. Refer to this guide on how to set up a Virtual Machine for development: https://community.kde.org/Get_Involved/development/Developing_in_a_virtual_machine

Upon a Kubuntu installation is up and running, follow the instructions below.

Instructions

1. Install additional development packages from the Kubuntu repository

Referring to the Setting Up guide under 'Easy as pie: Package manager', it is much quicker to install the KDE development packages provided from the Kubuntu repository than recompile everything from source.

Install the following:

sudo apt install libkf5syntaxhighlighting-dev cmake clang-8 libkf5config-dev libkf5auth-dev libkf5package-dev libkf5declarative-dev libkf5coreaddons-dev libkf5dbusaddons-dev libkf5kcmutils-dev libkf5i18n-dev libqt5core5a libqt5widgets5 libqt5gui5 libqt5qml5 extra-cmake-modules qtbase5-dev kirigami2-dev libkf5kirigami2-5 libkf5notifications-dev qml-module-org-kde-kirigami2 qml-module-qtquick-dialogs qml-module-qtquick-controls2 cmake build-essential gettext libkf5crash-dev libkf5doctools-dev
2. Install KDevelop
sudo apt install kdevelop
3. Create a basic KDE Application using an existing template
KDE C++ KDevelop Template

Now you should be in a position to be able to create a simple KDE application in KDevelop by performing the following in the menu: Project -> New From Template -> Qt -> Graphical -> C++ KDE Framework

This example project should now compile and execute without KDevelop complaining.

You are now up and running! It should also now be possible to use Qt Creator should this be a preferred option.

Other Useful Guides and References