Compiling the desktop client on Windows with Qt6
System requirements
-
Windows 10 or Windows 11
-
Python 3
-
PowerShell
-
Microsoft Visual Studio 2022
-
Inkscape
-
A Nextcloud server
::: info We highly recommend Nextcloud development environment on Docker Compose for testing/bug fixing/development: https://juliushaertl.github.io/nextcloud-docker-dev/ :::
Set up Windows 10 or Windows 11
- If you don't have Windows as your main system, you could try to run it as a virtual machine: https://developer.microsoft.com/en-us/windows/downloads/virtual-machines/
Setting up Microsoft Visual Studio
After installing Microsoft Visual Studio 2022, you will need to install the tools needed to compile C++:
- Click on 'Modify' in the Visual Studio Installer:

- Select 'Desktop development with C++':

Install Inkscape
- Install the latest version of Inkscape.
Set up KDE Craft
We handle the dependencies using KDE Craft because it is easy to set it up and it makes the maintenance much more reliable in all platforms.
- You will need to install Python 3: https://www.python.org/downloads/windows/
- Set up KDE Craft as instructed in Get Involved/development/Windows - KDE Community Wiki.
- Use the default options, including Qt6 (since desktop 3.14, we are using Qt 6).
::: info
C:\CraftRoot is the path used by default by KDE Craft. When you are setting it up you may choose a different folder: you will need to change from C:\CraftRoot to the path you picked in the next steps listed here.
:::
How to use the desktop client blueprints
-
After following the instructions in Get Involved/development/Windows - KDE Community Wiki.
-
Open
PowerShell. -
Run
craftenv.ps1as described in the instructions above:
C:\CraftRoot\craft\craftenv.ps1
- Add the blueprints from this repository:
craft --add-blueprint-repository https://github.com/nextcloud/desktop-client-blueprints.git
craft craft
- Install all desktop client dependencies:
craft --install-deps nextcloud-client
Compiling
-
Make sure your environment variable %PATH% has no conflicting information to the environment you will use to compile the client. For instance, if you have installed OpenSSL previously and have added it to %PATH%, the OpenSSL installed might be a different version than what was installed via KDE Craft.
-
To use the tools installed with Visual Studio, you need the following in your %PATH%:

-
Open the Command Prompt (cmd.exe)
-
Run:
"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" x64
::: info
Alternatively you can use the tools installed with KDE Craft by adding them to %PATH% in your current session:
set "PATH=C:\CraftRoot\bin;C:\CraftRoot\dev-utils\bin;%PATH%"
This will result in using the cmake version downloaded with KDE Craft.
:::
- Clone the desktop client repository.
git clone https://github.com/nextcloud/desktop.git
- Create the build folder
<build-folder>.
mkdir <build-folder>
- Go into the build folder.
cd <build-folder>
- Run cmake.
cmake ..\<desktop-cloned-repo> -G Ninja -DCMAKE_INSTALL_PREFIX=. -DCMAKE_PREFIX_PATH=C:\CraftRoot -DCMAKE_BUILD_TYPE=RelWithDebInfo
- Compile the desktop client
cmake --build .
Now you can use Qt Creator to import the build folder with its configurations to be able to work with the code.
Subscriber exclusive content
A Nextcloud Enterprise Subscription provides unlimited access to our knowledge base articles and direct access to Nextcloud engineers.