Developing for remote Windows devices
A remote Windows device is a Windows computer that Qt Creator reaches over SSH and uses as a build device, a run device, or both. The sources, the build directory, and the tools stay on that computer, so you can develop for Windows from another operating system.
Preparing the device
Install the OpenSSH server on the Windows computer. It is an optional feature of Windows, which you can add in Settings > Optional features. Start the OpenSSH SSH Server service and allow it through the firewall.
Copy your public key to %ProgramData%\ssh\administrators_authorized_keys or to .ssh\authorized_keys in the home directory of the user to connect as. Qt Creator does not store passwords, so key-based authentication saves you from entering the password on every connection.
Adding the device
To add a remote Windows device:
- Go to Preferences > Devices > Devices.
- Select Add > Remote Windows Device.
- Enter the host name, the user name, and the private key file to connect with.
- Select Test to check the connection.
To connect to the device when Qt Creator starts, select Auto-connect on startup.
Detecting the tools on the device
Select Run Auto-Detection Now in the device settings to look for the tools that the device has. Qt Creator detects Microsoft Visual C++ and clang-cl toolchains, the debuggers that come with them, the Qt versions and build tools that Qt Online Installer installs under C:\Qt, and creates kits for the combinations it finds.
The kits build on the device. Both CMake and qmake projects are supported.
Running and debugging
An application runs on the device in the desktop session of the user that Qt Creator connects as, so its windows are visible on the screen of that computer. When nobody is logged on, the application still runs, but without a desktop.
Debugging uses the CDB debugger on the device. To debug, set CDB extension directory in the device settings to the lib directory of a Qt Creator installed on the device.
Qt Creator reaches the debug port of the application through the SSH connection, which also applies to profiling and previewing QML.
See also Developing for remote Linux devices, Add Docker devices, and Managing kits.