Overview
Qt-Creator is the official cross-platform IDE from Qt, integrating code editing, building, debugging, and deployment. In embedded development, its core value lies in the Kit mechanism — by configuring the cross-compiler, debugger, and Qt version, developers can write code on the development machine (Ubuntu VM) and cross-compile ARM64 binaries for the target board with a single click.
This chapter creates a Buildroot cross-compilation Kit in Qt-Creator 19.0.0, based on the software stack built in Buildroot Qt Build Environment.
| Kit | Compiler | Qt Version Source |
|---|---|---|
| RK3576 Buildroot Qt5 | Buildroot GCC 12.4.0 | qmake from Buildroot build output |
Prerequisites: Environment setup completed per Buildroot Qt Build Environment.
Installing Qt-Creator 19.0.0
Obtaining the Installer
Download from the download page:
qt-creator-opensource-linux-x86_64-19.0.0.runQt-Creator Community Edition is free to use and can be downloaded directly.
Installation Steps
Note
Remember to register a Qt account at the official website beforehand. The installer will prompt you to log in during installation — simply log in after registering. No paid subscription is required.
Locate the qt-creator-opensource-linux-x86_64-19.0.0.run installer on the desktop, right-click → Run or Run as a program to launch the installer.
Keep all options at their defaults in the installation wizard. Follow the prompts and click Next → Install to complete the installation. The default installation directory is ~/qtcreator-19.0.0/.
System Dependencies
After installation, you can launch Qt Creator directly from the application menu:
If a missing shared library error appears on startup, install the following dependencies:
sudo apt update && \
sudo apt install libxcb-xinerama0 libgl1-mesa-glx libxcb-cursor0 \
libfontconfig1 libxkbcommon-x11-0 libncursesw5 \
libpython2.72
3
4
Configuring the Compiler
Menu path: Edit → Preferences → Kits → Compilers → Add → GCC → C
| Setting | Value |
|---|---|
| Name | RK3576 Buildroot GCC |
| Compiler path | /home/lckfb/TaishanPi-3-Linux/buildroot/output/rockchip_rk3576/host/bin/aarch64-buildroot-linux-gnu-gcc |
Click Apply to save. Qt-Creator will automatically detect the C++ compiler (aarch64-buildroot-linux-gnu-g++) in the same directory and add it — no need to add it manually.
Do NOT manually add the C++ compiler
Qt-Creator 19.0.0 will display a "Duplicate compilers detected" prompt when it detects duplicate compilers, and then the entire program crashes and exits. Only add the C compiler; the C++ compiler is automatically recognized by Qt-Creator.
If you have already triggered the crash, simply reopen Qt-Creator — the duplicate compiler entries will not be saved.
The ABI column should display aarch64-linux-generic-..., and a green checkmark next to the path indicates successful recognition. Click Apply to save.
Configuring the Debugger
Menu path: Edit → Preferences → Kits → Debuggers → Add
| Setting | Value |
|---|---|
| Name | RK3576 GDB |
| Path | /home/lckfb/TaishanPi-3-Linux/prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-rockchip1031-linux-gnu-gdb |
If Qt-Creator reports that it cannot identify the GDB type, it is because this GDB depends on older libraries. Install them with:
bashsudo apt install -y libncursesw5 libpython2.71
Click Apply to save.
About the GDB Source
Buildroot does not compile a cross GDB by default. The SDK pre-built GDB can be used directly. See Deployment and Debugging — GDB Remote Debugging for details.
Configuring Qt Version
Menu path: Edit → Preferences → Kits → Qt Versions → Add
In the file selection dialog, navigate to the qmake from the Buildroot build output:
/home/lckfb/TaishanPi-3-Linux/buildroot/output/rockchip_rk3576/host/bin/qmakeClick Apply to save. Qt-Creator will automatically recognize the Qt version number (5.15.11) and display it in the list.
Note: This path only exists after the Buildroot build is complete.
Creating the Kit
Menu path: Edit → Preferences → Kits → Kits → Add
| Setting | Value |
|---|---|
| Name | RK3576 Buildroot Qt5 |
| Compiler: C | RK3576 Buildroot GCC |
| Compiler: C++ | RK3576 Buildroot G++ (auto-detected) |
| Debugger | RK3576 GDB |
| Qt version | Qt 5.15.11 (host) (added in the previous step) |
| CMake Tool | System cmake (/usr/bin/cmake) |
| Sysroot | /home/lckfb/TaishanPi-3-Linux/buildroot/output/rockchip_rk3576/host/aarch64-buildroot-linux-gnu/sysroot |
In the CMake Configuration section under Kit, click Change → Additional CMake options and enter:
Note: If your username is not
lckfb, replacelckfbin the path with your actual username.
-DCMAKE_TOOLCHAIN_FILE=/home/lckfb/TaishanPi-3-Linux/buildroot/output/rockchip_rk3576/host/share/buildroot/toolchainfile.cmakeClick Apply. Then return to the Kits page and click Apply again to save the entire Kit configuration.
Configuring Remote Device
Qt-Creator manages SSH connections through Remote Linux Device, used for subsequent deployment and remote debugging.
Menu path: Edit → Preferences → Devices → Add → Remote Linux Device
Fill in the wizard:
| Setting | Value |
|---|---|
| Name | TaishanPi3M Board |
| Host name | Board IP address |
| Username | root |
| Authentication | SSH Key |
After filling in, you will reach the Key Deployment page. Since we already pushed the SSH public key to the board in Communication Channels (via ssh-copy-id), click Deploy Public Key once more as a precaution to ensure the SSH connection works properly.
Click Finish to verify the connection. "Device test finished successfully" indicates the configuration is correct.
Finally, return to the Devices page and click Apply to save the entire configuration.
Creating a Project and Building
Menu path: File → New Project... → Qt Widgets Application
Steps:
- Create the project, name it
tspi-sysmonitor, and choose an appropriate storage path - Build System: select CMake with Qt 5 Compatibility
- On the Translations page, keep the defaults
- On the Kit Selection page, only check
RK3576 Buildroot Qt5 - Continue clicking Next → Finish to create the project. Qt-Creator will automatically generate CMakeLists.txt and .pro files.
Wait a moment for the project to be created automatically.
Build shortcut: Ctrl+B.
After compilation, verify the output architecture:
file tspi-sysmonitor/build/RK3576_Buildroot_Qt5-Debug/tspi-sysmonitor
# Expected: ELF 64-bit LSB executable, ARM aarch64 ...2
If it shows x86-64, the Kit's compiler configuration is incorrect. Go back to the "Configuring the Compiler" section to check.
Remote Debugging Configuration (Optional)
Remote debugging does not need to be configured immediately. It is recommended to first verify the compilation and deployment workflow during early development, then configure remote debugging once you are familiar with the process. Remote debugging requires starting gdbserver on the board and ensuring network connectivity between the development machine (Ubuntu VM) and the board.
Remote debugging uses gdbserver. Qt-Creator on the development machine (Ubuntu VM) connects to the board-side debug service via TCP.
Starting gdbserver on the Board
# Execute on the board
gdbserver :2345 /root/tspi-sysmonitor2
Output Listening on port 2345 indicates readiness.
If the board does not have gdbserver, enable
BR2_PACKAGE_GDB_SERVER=yin menuconfig and rebuild.
Qt-Creator Connection
Menu path: Debug → Start Debugging → Attach to Running Debug Server
| Setting | Value |
|---|---|
| Kit | RK3576 Buildroot Qt5 |
| Host address | Board IP address |
| Server port | 2345 |
| Local executable | Path to the binary in the build directory on the development machine (Ubuntu VM) |
Click Start Debugging. Qt-Creator switches to the debug view where you can set breakpoints, step through code, and inspect variables.
Note: Debug builds must retain symbols (CMake Debug mode includes
-gby default). Do not strip the binary.
FAQ
Q1: Build output is x86-64 instead of ARM64
The Kit's Compiler configuration is wrong. Confirm that the C/C++ compiler is set to RK3576 Buildroot GCC/G++ and not the host machine compiler.
Q2: CMake cannot find Qt5 during configuration
Add the following to the Kit's Additional CMake options:
-DCMAKE_PREFIX_PATH=/home/lckfb/TaishanPi-3-Linux/buildroot/output/rockchip_rk3576/staging/usr/lib/cmakeQ3: qmake path does not exist
buildroot/output/rockchip_rk3576/host/bin/qmake is only generated after the Buildroot build is complete. You must complete the Buildroot build first.
Q4: Cannot connect to gdbserver
Check whether the board's firewall allows port 2345, and whether the development machine (Ubuntu VM) and the board are on the same subnet. Use telnet <board IP> 2345 to test port connectivity.
Q5: Qt-Creator crashes on startup or reports xcb errors
Install the dependency packages listed in the "System Dependencies" section of this chapter, or try launching Qt-Creator with the -platform xcb argument.
Next Step
If you prefer the command-line approach, see Command-Line Cross-Compilation; otherwise proceed directly to Deployment and Debugging.