Qt wiki will be updated on October 12th 2023 starting at 11:30 AM (EEST) and the maintenance will last around 2-3 hours. During the maintenance the site will be unavailable.

N9

From Qt Wiki
Jump to navigation Jump to search
This article may require cleanup to meet the Qt Wiki's quality standards. Reason: Auto-imported from ExpressionEngine.
Please improve this article if you can. Remove the {{cleanup}} tag and add this page to Updated pages list after it's clean.

Logistics

Qt 5's base functionality runs on the N9 out of the box. Qt builds with full OpenGL ES 2 support. Sensors, multimedia and additional modules will almost certainly require additional work if you intend to use this functionality. You are going to be using the XCB backend which replaces the legacy xlib backend implicitly used in the Qt 4 series.

Caveats (Warning? Achtung Ulv!)

Overriding system libraries on your N9 will result in tragedy. You have been warned, and although your should be able to avert disaster. If you misstep you might need to cold flash your device.

Requirements

Tools

  • Qt Creator Harmattan support

Harmattan Platform SDK for xcb (or swipe it from the webkit dudes .deb packages)

Build dependencies

The xcb libraries are not shipped as part of the standard Harmattan SDK. You can get these via installing the platform SDK and using apt within scratchbox to install the required packages. The missing libraries include:

libxcb-atom.so libxcb-event.so libxcb-icccm.so libxcb-image.so libxcb-keysyms.so libxcb-property.so libxcb-sync.so libxcb-xfixes.so

Toolchain

The N9 requires a hardfp toolchain. The Harmattan toolchain shipped with the Nokia Qt SDK suffices, and just needs to be explicitly passed as an additional compiler argument.

Configure

./configure -release -make libs -prefix /opt/dev/qt-qpa-5-harmattan -device linux-harmattan-g++ -device-option CROSS_COMPILE=<sdk_path>/Madde/toolchains/arm-2009q3-67-arm-none-linux-gnueabi-x86_64-unknown-linux-gnu/arm-2009q3-67/bin/arm-none-linux-gnueabi- -sysroot /scratchbox/users/<user>/targets/HARMATTAN_ARMEL

External resources

Qt Labs posting [1]

  • Qt Webkit teams documentation [2]