| .. | ||
| helloworld.pro | ||
| main.cpp | ||
| README.md | ||
Qt6 Hello World — Phase 1 Proof of Concept
Purpose: Verify Qt6 toolchain on FreeBSD
Status: Phase 1 implementation for v1.0.0
Prerequisites
# Install Qt6 build tools
pkg install qt6-base qt6-widgets qt6-buildtools
# Verify qmake6 is available
qmake6 --version
# Expected: QMake version 3.1 with Qt 6.x.x
Build Instructions
Using qmake6
cd firstboot/gui/helloworld
# Generate Makefile from .pro file
qmake6
# Build
make
# Run
./clawdie-helloworld
Alternative: Using CMake (not configured yet)
mkdir build && cd build
cmake ..
make
./clawdie-helloworld
Files
main.cpp— Qt6 C++ application with widgetshelloworld.pro— qmake project fileREADME.md— This file
Success Criteria
- Files created
- qmake6 generates Makefile
- make compiles without errors
- Binary executes and displays window
- Button click triggers exit
Expected Output
$ qmake6
$ make
g++ -fPIC -fno-omit-frame-pointer ... -o clawdie-helloworld ...
$ ./clawdie-helloworld
# Window should appear titled "Clawdie Installer"
# Label: "Clawdie Qt6 GUI Installer"
# Button: "Exit"
Troubleshooting
Error: qmake6 not found
pkg install qt6-buildtools
which qmake6 # Should show /usr/local/bin/qmake6
Error: undefined reference to Qt libraries
# Ensure Qt6 libraries are installed
pkg install qt6-base qt6-widgets
Error: Cannot find X11 display This is normal if running over SSH without X forwarding. The app will fail to display, but compilation succeeds.
Next Steps (Phase 2)
Once Phase 1 succeeds:
- Create
qml-installer/for QML-based UI - Wire GPU detection output to QML
- Test multi-page wizard flow
Document Version: 1.0 Date: 6 Apr 2026