A GitHub template for new Qt 4.7 / QML 1.1 apps targeting Symbian Belle
(Nokia C7 class). It boots with storage, logging, networking/TLS, memory
monitoring, and audio already wired, plus build/package/scaffold scripts — so
you start from a running app, not an empty main().
The default app is named BelleApp and its landing screen is a subsystem self-test: TLS, SQLite round-trip, live RAM, and audio playback each report pass/fail. Run it first on a fresh device to confirm the platform layers work before you write any app code.
- Click Use this template on GitHub (or clone this repo).
- Personalize the name + Symbian UID:
Pick a UID in the self-signed range
pwsh scripts/init-project.ps1 -AppName "MyApp" -Uid 0xE1234567
0xE0000000–0xEFFFFFFF. - Build and run on the simulator:
pwsh scripts/build-simulator.ps1 -Config Debug -Clean pwsh -File build-simulator\debug\MyApp.run.ps1
pwsh scripts/build-sis.ps1 -Config Release -Arch armv5 -CleanProduces a self-signed .sis. See docs/SYMBIAN_PACKAGING.md for install steps,
and docs/DEVICE_NOTES.md for hard-won device gotchas.
| Path | What |
|---|---|
BelleApp.pro |
qmake project |
src/ |
C++ managers (Storage, Audio, Memory, Tls) + bootstrap |
qml/ |
QML UI: AppWindow, SelfTestPage, page-stack shell |
lib/qjson/ |
vendored JSON parser/serializer for Qt 4 C++ code |
scripts/ |
build / package / inspect / init PowerShell scripts |
docs/ |
packaging guide, storage schema, device log, plan |
- Qt SDK with Qt Simulator (Qt 4.7.4, MinGW), typically under
C:\Symbian\QtSDK. - For device builds: the Symbian SDK (
SymbianSR1Qt474) with RVCT 4.0.
The template uses Qt Mobility Multimedia. Before launching the simulator, make
sure both the Qt Simulator runtime and Qt Mobility library directories are on
PATH; otherwise Windows may report that QtMultimediaKitd1.dll cannot be
found:
$env:PATH = `
"C:\Symbian\QtSDK\Simulator\QtMobility\mingw\lib;" +
"C:\Symbian\QtSDK\Simulator\Qt\mingw\bin;" +
$env:PATHOn a machine dedicated to this SDK, you can add them to the user PATH once:
$runtimePaths = @(
"C:\Symbian\QtSDK\Simulator\QtMobility\mingw\lib"
"C:\Symbian\QtSDK\Simulator\Qt\mingw\bin"
)
$userPath = [Environment]::GetEnvironmentVariable("Path", "User")
$newUserPath = ($runtimePaths + ($userPath -split ";") |
Where-Object { $_ } |
Select-Object -Unique) -join ";"
[Environment]::SetEnvironmentVariable("Path", $newUserPath, "User")Close and restart PowerShell, Qt Simulator, and any IDE after changing the user
PATH. If QtNetwork is rebuilt to add newer TLS support, deploy matching debug
or release builds of QtCore and QtNetwork together with their matching OpenSSL
DLLs; mixing original and rebuilt Qt runtime DLLs causes entry-point errors.
On-device behaviour can't be verified from CI (the legacy toolchain isn't hostable on hosted runners). Always smoke-test the self-test page on hardware.
MIT — see LICENSE.