SlideShare ist ein Scribd-Unternehmen logo
1 von 58
Downloaden Sie, um offline zu lesen
Quickstart
Qt for Windows, Symbian and
Maemo / MeeGo

Andreas Jakl
Senior Technical Consultant
Forum Nokia

                              10 January, 2011
                                        v2.0.8
Task
• Run a Hello World application on
   – Windows
   – Maemo 5 device
   – Symbian device




                      Windows 7      Maemo 5     Symbian^1
                                               (S60 5th Edition)
Prerequisites
• Requirements for this tutorial:
    – Windows XP / 7
    – Development on Linux / Mac OS similar (partly in beta right now)!
• General hints:
    – Install all tools to the same drive (e.g., C:)
    – Do not use network drives
    – Use default installation paths. Be wary of paths that contain spaces /
       special characters
General Qt
(plus: for Windows)
Qt SDKs from qt.nokia.com
                                            Common Qt APIs
                                                                                         Qt SDK for
          Nokia Qt          Qt SDK for       Qt SDK for       Qt SDK for    Qt SDK for
                                                                                         Embedded
            SDK             Windows         Windows CE         Mac OS      Linux / X11
                                                                                           Linux


                                              Windows                                       Other
Symbian             Simulator                                  Mac OS X    Linux (X11)
                                             CE / Mobile                                   devices

          Maemo /           Windows
          (MeeGo)          XP / Vista / 7               You can of
                                                       course install
                                                      multiple SDKs at
                                                      the same time
Nokia Qt SDK
• One-Click installation:
    – Development tools
    – Build for and debug in real devices
        •   Symbian
        •   MeeGo / Maemo

    – Test on host PC
        •   Simulator

    – Qt Mobility
• No extra device SDKs required anymore
Installation
• Install Nokia Qt SDK
    – For mobile development
    – Works on Windows, Mac &
      Linux
• Install Qt SDK for Windows
    – Optional
    – For desktop development
                     http://www.forum.nokia.com/Qt
                     http://qt.nokia.com/downloads
New Qt Project
 File → New File or Project…
 Empty Qt Project
 Project properties
  – Name: Hello World
  – Create in: workspace directory on same
     drive as tools, without space characters
 Qt versions
  – Select all targets you are interested in
Main Source File
 Project management
  – Accept defaults
 Right-click on project → Add New… →
 C++ source file
  – Name: main.cpp
  – Path: project path (default)
  – Accept defaults on next page
Hello World – Source Code
 Write following code into empty main.cpp:
      main.cpp
       #include <QApplication>
       #include <QPushButton>

       int main(int argc, char *argv[])
       {
           QApplication app(argc, argv);
           QPushButton helloButton("Hello World");
           helloButton.resize(150, 50);
           helloButton.show();

           return app.exec();
       }
Run the Application
 Make sure “Desktop” is current build target
 Click on play arrow
Hello World – Components
• QApplication
   – One per GUI app
   – Manages app-wide resources (default font, cursor, ...)
• QPushButton
   – Default widget, based on QWidget
   – Can process user input and draw graphics
Extend Hello World: Quit
• Add functionality to exit the Hello World example:
     QObject::connect(&helloButton, SIGNAL(clicked()),
                      &app, SLOT(quit()));

    – Button emits clicked() signal
    – Connected to QApplication::quit()
Signals & Slots
• Signal
    – Emitted when a particular event occurs (e.g., clicked())
    – Qt widgets: predefined signals
    – Also create your own signals
• Slot
    – Function called in response to a signal
    – Qt widgets: predefined slots (e.g., quit())
    – Also create your own slots
• Connection signals  slots established by developer,
  handled by Qt framework
Nokia Qt SDK: Simulator
• Efficient Testing
    – Quick launch
    – Scripting possibilities
        •   Using JavaScript

    – Simulate Qt Mobility Project features
        •   Location, contacts, etc.

    – Simulate phone events
        •   Battery, messages, etc.

    – Skins for different platforms / form-factors
        •   Resolutions, orientation, etc.
Launching the Qt Simulator
• Execute Hello World on Simulator
   – Select Qt Simulator target
   – Click on Play
10.01.2011 17




Qt for Maemo / MeeGo
Qt for Maemo
• Development options
   – Full Linux Environment (with Scratchbox)
       •   Install Linux on your PC (e.g., Ubuntu)
       •   Guide: http://wiki.maemo.org/Documentation/Maemo_5_Final_SDK_Installation
       •   Or use VMware on Windows / Mac (image is a bit outdated)
             – http://maemovmware.garage.maemo.org/

   – Nokia Qt SDK (based on MADDE)
       •   Works on Windows, Linux, Mac OS X
       •   Full Qt support out of the box!
MADDE
• MADDE?
   – Comes with Nokia Qt SDK
   – Maemo Application Development and
     Debugging Environment
   – Toolchain that supports compiling and
     deploying MeeGo applications without setting
     up an own Linux environment
   – Cross-Compilation
   – http://wiki.maemo.org/MADDE
Maemo → MeeGo
• MeeGo fully compatible to Qt & Qt Creator
    – As a 3rd party developer, most changes to the OS
      are irrelevant to you if you use Qt
    – Start developing now on Maemo 5!
Setting up the Device
• Configure your N900
    – To enable direct deployment and debugging from Qt Creator
    – Requires installing MAD Developer tools
• Add developer repositories to download tools
    – Open the App manager on the N900
    – Menu → Application catalogues → New
        •   Catalogue name: Extras
        •   Web address: http://repository.maemo.org/extras/
        •   Distribution: fremantle
        •   Components: free non-free
Mad Developer
• Download and install
   – mad-developer package
   – In Application manager, click on Download → All → start typing “mad-”
      on hardware keyboard to filter list and search for apps
Connect the Device
• Select connection mode
   – Start the “Mad Developer” application on the N900
   – Click on “Manage USB” → “Load g_ether”
       •   In any connection mode prompts that pop up, just close the dialog by clicking outside of it

   – Make sure “Module in use” is “g_ether” and click close
Connect the Device
• Configure USB / Ethernet connection
   – Click on “Edit” and ensure following setup
       •   IP Address: 192.168.2.15
       •   Netmask: 255.255.255.0

   – Click on “Configure”
      to apply
Configure the PC
                                                     Windows 7: Network and Sharing Center →
                                                            Change adapter settings



•   Set a static IP for the USB Ethernet connection to the N900
     – Open the Network Connections
     – Right-click on the Local Area Connection of the “Linux
       USB Ethernet/RNDIS Gadget” device → Properties
     – Select “Internet Protocol (TCP/IP)” → Properties
     – Enter a static IP setting
          •   IP address: 192.168.2.14
          •   255.255.255.0
          •   Default gateway: 192.168.2.15 (or leave empty)
Connect Qt Creator to Maemo Device
• Test the connection
   – Start Qt Creator
   – Options → Qt4 → Maemo Devices
   – Add a device, choose a configuration
      name (e.g., “N900”)
   – Ensure setup is as shown in screenshot
       •   Authentication type: Password
       •   Host Name: 192.168.2.15
Connection Password
• Create password
   – In Mad Developer, click on
     “Developer Password”
       •   Different pwd than in screenshot!
       •   New pwd generated every time
       •   Do not close the dialog window
           showing the pwd!
   – Enter the password in Qt Creator
   – Click on “Test”
Deploy to N900
• Execute Hello World on N900
   – Select Maemo target
   – Click on Play
Faster Execution: SSH Key
•   Create SSH keys once instead of defining a new password for every connection
     – Make sure your active connection with the password is working
        Generate SSH Key … → Generate SSH Key
        Save both the public and the private key to your computer
        Deploy the public key to your device, specify the private key on the PC
Optification
•   Storage memory on the N900
     – 256 MB NAND memory: Fast, but high power requirements
       → not so big by design. For bootloader, kernel and root.                              The “Storage Usage” application
                                                                                       gives a graphical overview of memory usage
     – 32 GB eMMC: large, but slower.                                                     and also lists the memory by package
          •   /home: ~ 2 GB
          •   /home/usr/MyDocs: ~ 29 GB
•   Memory usage rules for applications
     – Put large files on eMMC memory, not into small rootfs → “Optification”
     – Required for Ovi Store submission: http://wiki.maemo.org/Ovi_Store_publishing
     – Documentation:
        http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Packaging,_Deploying_and_Distributing/Installing_u
        nder_opt_and_MyDocs
10.01.2011 32




Qt for Symbian
Symbian & Qt                                                                                                                                                    Nokia N95
                                                                                                                                                                       (2007)


      • Qt for Symbian:
                 – Compatible to S60 3.1+ (Nokia N95, E71)
                 – Nokia devices platform versions:
                        http://www.forum.nokia.com/devices/




* Qt can be installed on all compatible devices. Not all devices are enabled in the Smart Installer, which is required for deploying Qt apps through the Ovi Store.
More devices are constantly added as compatibility tests are being performed. Current Smart Installer device deployment support:
http://www.forum.nokia.com/Distribute/Packaging_and_signing.xhtml
Install Qt to the Device < Symbian^3
   •     .sis-file: Symbian installation file
   •     Qt installation files in your Qt/Symbian SDK dir
             – C:NokiaQtSDKSymbiansisqt_installer.sis: Installs Qt libraries
             – C:NokiaQtSDKSymbiansisqtmobility.sis: Contains additional Qt Mobility APIs *
             – C:NokiaQtSDKSymbiansisfluidlauncher.sis: Installs demos
   •     Installation to mass memory. Choose one method:
             1.       Send through Bluetooth to device
             2.       Use Ovi Suite, connect your device and double-click .sis-file
             3.       Copy .sis-file to device / SD card and start installation through file manager on device
   •     Restart the device

* Note: Symbian^3 requires a different Qt Mobility installation file, which is part of the Nokia Qt SDK 1.0.1+.
Automatic Deployment & On-Device Debug
   • Requires debug agent running on device: App TRK
   • Install:
            – C:NokiaQtSDKSymbiansiss60_5_0_app_trk_3_x_x.sisx
                 for S60 5.0. Choose appropriate TRK for your phone.
            – Install to phone memory (C:)
   • Run the TRK on the device
            – Setup connection using Bluetooth or USB cable
            – Recommended: USB


TRK contained in Nokia Qt SDK. Online download: http://tools.ext.nokia.com/trk/
TRK: USB Connection
• Debugging through USB is faster and easier
   – Very first start of TRK on device: cancel Bluetooth connection attempt
Testing the Device Connection
  Go to the Run Settings tab of the Symbian Device
  Click on the i symbol to check the active TRK connection
  Press play to deploy and run
Hello World on Symbian
Smart Installer

        Qt      Install
       App
      (& SI)                                                Required Qt version
                                                           not already installed?


                                                          Download and install Qt




               http://wiki.forum.nokia.com/index.php/Nokia_Smart_Installer_for_Symbian
Open Signed

Signing & Certificates                                                       (Developer Certificate)




• Self-Signed application (default):
    – Security warning during installation
    – No access to restricted features
      (e.g., powering off the device)
• Reasons for signing:
    – Prevent sabotage of installation files (.sis)
    – Identification of the software developer
    – Access to APIs (Capabilities)
      for sensitive features (calendar, location, etc.)
                                                            Self-Signed
                                                          app installation
Symbian Distribution
•   Now free through Ovi Publish program
     – Sign up:                                      •   Publisher ID from TrustCenter
        http://www.forum.nokia.com/Distribute/Pack         –    $200 / year, only for companies

        aging_and_signing.xhtml                            –    Allows creating developer certificate
                                                           –    http://www.trustcenter.de/en/products/tc_publi
     – Get a test certificate for development                   sher_id_for_symbian.htm
       (if you require restricted capabilities in    •   Sign your app through:
       your app)                                           –    Express Signed: instant, €10
                                                           –    (or Certified Signed: external test house, €185+)
     – Thoroughly test your app:
                                                           –    https://www.symbiansigned.com/
       http://tiny.symbian.org/testcriteria
     – Submit finished app to the Ovi Store for
       free
10.01.2011 42




Good to Know
Taking Screenshots
• Maemo
   – Ctrl + Shift + P: Saves to /home/user/MyDocs/.images/Screenshots
• Symbian
   – Download Best Screen Snap for S60 (Freeware)
     http://www.smartphoneware.com/screen_snap-for-s60-5th-edition-download.php

   – Set image type to “BMP – true color” for maximum quality
Working with GIT from Windows
• Use bleeding edge code?
   – Qt developed as open source
   – You can download latest development source from GIT repositories
   – Warning: not for beginners! Needs manual compilation.
      Commercial ARM compiler required for compiling Qt for Symbian.
• Install Windows client software
   – msysgit: http://code.google.com/p/msysgit/
   – TortoiseGit: http://code.google.com/p/tortoisegit/
Downloading from GIT
• Search repository you want to download locally (clone)
   – http://qt.gitorious.org/
   – Get repository URL
• Clone the repository
   – In Windows Explorer, go to
      parent of target directory
      (e.g., C:Qt)
   – Right-click → Git Clone…
Downloading from GIT
• Configure download
   – Enter repository URL
   – Make sure your firewall / proxy doesn’t
     block download
10.01.2011 47




Troubleshooting
Troubleshooting: Qt Not Found
                                                                                  Platform: Windows




•   Situation
     – Full Qt for Windows SDK is installed, created a Qt Creator project
•   Problem
     – Error when compiling, similar to:
         No valid Qt version set. Set one in Tools/Options
         Error while building project GuiTest
         When executing build step 'QMake'
         Canceled build.

•   Solution
     – Go to Tools → Options → Qt4. Click on the “+” button to define a manual Qt version. Set
       the QMake and MinGW location to your SDK dirs (see screenshot on next slide)
Troubleshooting: Qt Not Found
                                          Platform: Windows




                                Solution:
                                Add Qt manually
Troubleshooting: Network Drives
                                                                                     Platform: Windows




•   Situation
     – Created / opened a project on a network drive on Windows
•   Problem
     – Error when compiling, similar to:
         Error processing project file: //fshome/.../TestProject.pro
         Exited with code 3.
         Error while building project TestProject
         When executing build step 'QMake'

•   Solution
     – Create your project on a local drive, not a network drive.
       If a network drive is required, make sure it is accessed through a drive letter instead of
       the //…/-path
Troubleshooting: vtable references
                                                                                           Platform: Generic




•   Situation
     –   Added metaobject functionality to existing plain C++ class
         (signals / slots, added derivation from QObject,
         added Q_OBJECT macro)
•   Problem
     –   Error when compiling, similar to:
          debug/myclass.o: In function `MyClass':
          C:QtworkspaceFoo/myclass.cpp:3: undefined reference to `vtable for MyClass'
          C:QtworkspaceFoo/myclass.cpp:3: undefined reference to `vtable for MyClass'
          collect2: ld returned 1 exit status
          mingw32-make[1]: *** [debugFoo.exe] Error 1
          mingw32-make: *** [debug] Error 2
          Exited with code 2.

     –   Build → Clean All doesn’t help
Troubleshooting: vtable references II
                                                                                 Platform: Generic




•   Solution
     – Qt Creator doesn’t necessarily recognize changes, as your class now needs to be
       processed using the meta object compiler (moc) during the compilation process.
     – Elegant solution: in Qt Creator, choose:
       Build → Run qmake
     – Less elegant solution:
       Directly delete makefiles from
       explorer / terminal and
       compile again. This ensures that
       all makefiles are re-generated.
Troubleshooting: Qt DLLs
                                                                  Platform: Windows




• Situation
   – Successfully compiled application, execution through Qt Creator works.
• Problem
   – When executing .exe-file directly through Windows Explorer: error
      message – DLL files not found.
   – Common: mingwm10.dll, qtcore4.dll, qtgui4.dll, qtcored4.dll, qtguid4.dll
Troubleshooting: Qt DLLs II
                                                                             Platform: Windows




•   Solution
     –   Search for location of DLL files on PC, add directories to system
         environment variables.
     –   -Key + Pause → Advanced system settings → Advanced →
         Environment Variables…
         Add at the end of Path variable in user or system variables.
     –   Commonly needed:
         C:NokiaQtSDKmingwbin;
         C:Qt2010.02qtbin
     –   Not allowed to modify PATH? Copy required DLLs to executable
         directory.
     –   More information: http://doc.qt.nokia.com/deployment-
         windows.html
Troubleshooting: DLL Entry Point
                                                                                 Platform: Windows




•   Situation
     – Successfully compiled application, executing .exe through Windows Explorer
•   Problem
     – Error message like:
         The procedure entry point ?end@QListData@@QBEPAPAXXZ
         could not be located in the dynamic link library QtCore4.dll
•   Solution
     – Wrong version of dynamically linked Qt Dll was found and is used by Windows.
     – Modify PATH environment variable, move Qt directories to the front of System Variables.
       Or: copy DLLs to executable directory.
.sis Installation Fails
                                                                                                   Platform: Symbian




•   Situation
      –   Successfully compiled application for a Symbian device
•   Problem
      –   Installation fails with an error message like:
      Deploying application to 'Nokia N97 mini USB (COM9)'...
      Copying installation file...
      Installing application...
      Could not install from package C:xxx.sis on device: General OS-related error
      Finished.

•   Solution
      –   Install the .sis-file manually through the Nokia Ovi Suite or by simply sending the .sis-file to the
          phone using Bluetooth or an USB connection.
          You will then see the full error message on the device. For example, you might have an old Qt
          version installed on your phone.
.sis Installation Fails II
                                                                                                    Platform: Symbian




•   Common issues
      –   Certificate validity: are both PC and device date & time correct?
      –   Changed certificate type or UID: uninstall old app version from device before installing new version
      –   Correct certificate: only “User Capabilities” can be used with self-signed certificate created by
          default from Qt Creator. For other capability groups, you need a developer certificate – get this for free
          through Publish to Ovi.
          http://developer.symbian.org/wiki/index.php/Capabilities_%28Symbian_Signed%29
      –   Checklist: http://developer.symbian.org/wiki/index.php/Troubleshoot_install_errors
•   Getting more details
      –   Install ErrRd utility to the phone: http://www.symbianresources.com/cgi-bin/schlabo/dl.pl?ErrRd
      –   You will get error code during installation. Overview of codes:
          http://blogs.forum.nokia.com/blog/lucian-tomuas-forum-nokia-blog/2009/09/29/the-ultimate-
          software-installer-debug-guide
Troubleshooting: .sis vs .sisx?
                                                                              Platform: Symbian




•   What’s the difference?
     – No difference to Symbian device, it’s just the filename.
     – Common: .sisx = signed version of unsigned .sis. But:
     – Nokia Qt SDK: .sis is already signed, no .sisx is created!
          •   When not specifying own certificate: .sis is self-signed with
              automatically generated certificate
•   Installation of self-signed apps not allowed by default on
    some operator branded devices
     – Change: Application manager  Installation settings 
       Software installation  change from “Signed only” to “All”
Thank You.
Want to learn more?
www.forum.nokia.com/Qt

Weitere ähnliche Inhalte

Was ist angesagt?

Nokia Qt SDK in action - Qt developer days 2010
Nokia Qt SDK in action - Qt developer days 2010Nokia Qt SDK in action - Qt developer days 2010
Nokia Qt SDK in action - Qt developer days 2010Nokia
 
Qt App Development - Cross-Platform Development for Android, iOS, Windows Pho...
Qt App Development - Cross-Platform Development for Android, iOS, Windows Pho...Qt App Development - Cross-Platform Development for Android, iOS, Windows Pho...
Qt App Development - Cross-Platform Development for Android, iOS, Windows Pho...Andreas Jakl
 
Qt - for stack overflow developer conference
Qt - for stack overflow developer conferenceQt - for stack overflow developer conference
Qt - for stack overflow developer conferenceNokia
 
2. the aegis story building an accessible application
2. the aegis story   building an accessible application2. the aegis story   building an accessible application
2. the aegis story building an accessible applicationAEGIS-ACCESSIBLE Projects
 
KDE Plasma for Mobile Phones
KDE Plasma for Mobile PhonesKDE Plasma for Mobile Phones
KDE Plasma for Mobile Phonesaccount inactive
 
WinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows Phone
WinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows PhoneWinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows Phone
WinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows PhoneAndreas Jakl
 
Google Android Naver 1212
Google Android Naver 1212Google Android Naver 1212
Google Android Naver 1212Yoojoo Jang
 
Smartphone Behavior On A Featurephone Budget
Smartphone Behavior On A Featurephone BudgetSmartphone Behavior On A Featurephone Budget
Smartphone Behavior On A Featurephone BudgetGail Frederick
 
Android application development
Android application developmentAndroid application development
Android application developmentFahad A. Shaikh
 
Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...
Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...
Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...Michael Kozloff
 
FOSDEM 2012 - OpenNebula Project
FOSDEM 2012 - OpenNebula ProjectFOSDEM 2012 - OpenNebula Project
FOSDEM 2012 - OpenNebula ProjectOpenNebula Project
 
Starting Development for Nokia N9
Starting Development for Nokia N9Starting Development for Nokia N9
Starting Development for Nokia N9tpyssysa
 
The Roadmap: Next Generation Qt
The Roadmap: Next Generation QtThe Roadmap: Next Generation Qt
The Roadmap: Next Generation Qtaccount inactive
 
Driving Down Automotive Costs for Richer HMIs with Qt & i.MX RT1170
Driving Down Automotive Costs for Richer HMIs with Qt & i.MX RT1170Driving Down Automotive Costs for Richer HMIs with Qt & i.MX RT1170
Driving Down Automotive Costs for Richer HMIs with Qt & i.MX RT1170Qt
 

Was ist angesagt? (20)

Nokia Qt SDK in action - Qt developer days 2010
Nokia Qt SDK in action - Qt developer days 2010Nokia Qt SDK in action - Qt developer days 2010
Nokia Qt SDK in action - Qt developer days 2010
 
Qt App Development - Cross-Platform Development for Android, iOS, Windows Pho...
Qt App Development - Cross-Platform Development for Android, iOS, Windows Pho...Qt App Development - Cross-Platform Development for Android, iOS, Windows Pho...
Qt App Development - Cross-Platform Development for Android, iOS, Windows Pho...
 
Qt - for stack overflow developer conference
Qt - for stack overflow developer conferenceQt - for stack overflow developer conference
Qt - for stack overflow developer conference
 
Meet Qt
Meet QtMeet Qt
Meet Qt
 
2. the aegis story building an accessible application
2. the aegis story   building an accessible application2. the aegis story   building an accessible application
2. the aegis story building an accessible application
 
KDE Plasma for Mobile Phones
KDE Plasma for Mobile PhonesKDE Plasma for Mobile Phones
KDE Plasma for Mobile Phones
 
Qt Licensing Explained
Qt Licensing ExplainedQt Licensing Explained
Qt Licensing Explained
 
WinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows Phone
WinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows PhoneWinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows Phone
WinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows Phone
 
Google Android Naver 1212
Google Android Naver 1212Google Android Naver 1212
Google Android Naver 1212
 
Smartphone Behavior On A Featurephone Budget
Smartphone Behavior On A Featurephone BudgetSmartphone Behavior On A Featurephone Budget
Smartphone Behavior On A Featurephone Budget
 
Intel AppUp™ SDK Suite 1.2 for MeeGo
Intel AppUp™ SDK Suite 1.2 for MeeGoIntel AppUp™ SDK Suite 1.2 for MeeGo
Intel AppUp™ SDK Suite 1.2 for MeeGo
 
MeeGo Overview DeveloperDay Munich
MeeGo Overview DeveloperDay MunichMeeGo Overview DeveloperDay Munich
MeeGo Overview DeveloperDay Munich
 
Writing applications for multiple stores on the WeTab
Writing applications for multiple stores on the WeTabWriting applications for multiple stores on the WeTab
Writing applications for multiple stores on the WeTab
 
Nicholas Foo
Nicholas FooNicholas Foo
Nicholas Foo
 
Android application development
Android application developmentAndroid application development
Android application development
 
Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...
Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...
Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...
 
FOSDEM 2012 - OpenNebula Project
FOSDEM 2012 - OpenNebula ProjectFOSDEM 2012 - OpenNebula Project
FOSDEM 2012 - OpenNebula Project
 
Starting Development for Nokia N9
Starting Development for Nokia N9Starting Development for Nokia N9
Starting Development for Nokia N9
 
The Roadmap: Next Generation Qt
The Roadmap: Next Generation QtThe Roadmap: Next Generation Qt
The Roadmap: Next Generation Qt
 
Driving Down Automotive Costs for Richer HMIs with Qt & i.MX RT1170
Driving Down Automotive Costs for Richer HMIs with Qt & i.MX RT1170Driving Down Automotive Costs for Richer HMIs with Qt & i.MX RT1170
Driving Down Automotive Costs for Richer HMIs with Qt & i.MX RT1170
 

Andere mochten auch

Symbian OS - Platform Security
Symbian OS - Platform SecuritySymbian OS - Platform Security
Symbian OS - Platform SecurityAndreas Jakl
 
Symbian OS Overview
Symbian OS OverviewSymbian OS Overview
Symbian OS OverviewAndreas Jakl
 
Symbian OS - GUI Architectures
Symbian OS - GUI ArchitecturesSymbian OS - GUI Architectures
Symbian OS - GUI ArchitecturesAndreas Jakl
 
Symbian Operating system
Symbian Operating systemSymbian Operating system
Symbian Operating systemPravin Shinde
 
Seminar report on Symbian OS
Seminar report on Symbian OSSeminar report on Symbian OS
Seminar report on Symbian OSDarsh Kotecha
 

Andere mochten auch (7)

Symbian OS - Platform Security
Symbian OS - Platform SecuritySymbian OS - Platform Security
Symbian OS - Platform Security
 
Symbian OS Overview
Symbian OS OverviewSymbian OS Overview
Symbian OS Overview
 
Symbian OS - GUI Architectures
Symbian OS - GUI ArchitecturesSymbian OS - GUI Architectures
Symbian OS - GUI Architectures
 
Symbian OS
Symbian OSSymbian OS
Symbian OS
 
Symbian Operating system
Symbian Operating systemSymbian Operating system
Symbian Operating system
 
Seminar report on Symbian OS
Seminar report on Symbian OSSeminar report on Symbian OS
Seminar report on Symbian OS
 
Symbian OS
Symbian OSSymbian OS
Symbian OS
 

Ähnlich wie Quickstart: Qt for Windows, Symbian and Maemo / Meego v2.0.8 (January 10th, 2011)

Andreas Jakl, Qt Symbian Maemo Quickstart
Andreas Jakl, Qt Symbian Maemo QuickstartAndreas Jakl, Qt Symbian Maemo Quickstart
Andreas Jakl, Qt Symbian Maemo QuickstartNokiaAppForum
 
Meego Italian Day 2011 – Andrea Grandi
Meego Italian Day 2011 – Andrea GrandiMeego Italian Day 2011 – Andrea Grandi
Meego Italian Day 2011 – Andrea GrandiFrancesco Baldassarri
 
Academy PRO: .NET Core intro
Academy PRO: .NET Core introAcademy PRO: .NET Core intro
Academy PRO: .NET Core introBinary Studio
 
Maemo Development Environment
Maemo Development EnvironmentMaemo Development Environment
Maemo Development Environmentjtukkine
 
Smalltalk on a CE device
Smalltalk on a CE deviceSmalltalk on a CE device
Smalltalk on a CE deviceESUG
 
AISEC 12 april 2012 Introduction to Windows Embedded Handheld programming
AISEC 12 april 2012   Introduction to Windows Embedded Handheld programmingAISEC 12 april 2012   Introduction to Windows Embedded Handheld programming
AISEC 12 april 2012 Introduction to Windows Embedded Handheld programmingCatalin Gheorghiu
 
Srikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth Pilli
 
Native Application Development With Qt
Native Application Development With QtNative Application Development With Qt
Native Application Development With Qtrahulnimbalkar
 
Targeting Android with Qt
Targeting Android with QtTargeting Android with Qt
Targeting Android with QtEspen Riskedal
 
Droidcon uk2012 androvm
Droidcon uk2012 androvmDroidcon uk2012 androvm
Droidcon uk2012 androvmdfages
 
AdminCamp2019 - Notes V10 Upgrades - Alles was man wissen muss!
AdminCamp2019 - Notes V10 Upgrades - Alles was man wissen muss!AdminCamp2019 - Notes V10 Upgrades - Alles was man wissen muss!
AdminCamp2019 - Notes V10 Upgrades - Alles was man wissen muss!Christoph Adler
 
Install .Net Core, SQL Server V-Next on Linux and deploy .Net core applicatio...
Install .Net Core, SQL Server V-Next on Linux and deploy .Net core applicatio...Install .Net Core, SQL Server V-Next on Linux and deploy .Net core applicatio...
Install .Net Core, SQL Server V-Next on Linux and deploy .Net core applicatio...Ajith Ramawickrama
 
Qubes os presentation_to_clug_20150727
Qubes os presentation_to_clug_20150727Qubes os presentation_to_clug_20150727
Qubes os presentation_to_clug_20150727csirac2
 
Bienvenido .Net MAUI - la evolución de Xamarin.Forms
Bienvenido .Net MAUI - la evolución de Xamarin.FormsBienvenido .Net MAUI - la evolución de Xamarin.Forms
Bienvenido .Net MAUI - la evolución de Xamarin.FormsVicente Gerardo Guzman Lucio
 
Introduction to Cross Platform Development with Xamarin/ Visual Studio
Introduction to Cross Platform Development with Xamarin/ Visual StudioIntroduction to Cross Platform Development with Xamarin/ Visual Studio
Introduction to Cross Platform Development with Xamarin/ Visual StudioIndyMobileNetDev
 
Import golang; struct microservice - Codemotion Rome 2015
Import golang; struct microservice - Codemotion Rome 2015Import golang; struct microservice - Codemotion Rome 2015
Import golang; struct microservice - Codemotion Rome 2015Giorgio Cefaro
 

Ähnlich wie Quickstart: Qt for Windows, Symbian and Maemo / Meego v2.0.8 (January 10th, 2011) (20)

Andreas Jakl, Qt Symbian Maemo Quickstart
Andreas Jakl, Qt Symbian Maemo QuickstartAndreas Jakl, Qt Symbian Maemo Quickstart
Andreas Jakl, Qt Symbian Maemo Quickstart
 
Meego Italian Day 2011 – Andrea Grandi
Meego Italian Day 2011 – Andrea GrandiMeego Italian Day 2011 – Andrea Grandi
Meego Italian Day 2011 – Andrea Grandi
 
Qt quick (qml)
Qt quick (qml)Qt quick (qml)
Qt quick (qml)
 
Treinamento Qt básico - aula I
Treinamento Qt básico - aula ITreinamento Qt básico - aula I
Treinamento Qt básico - aula I
 
Academy PRO: .NET Core intro
Academy PRO: .NET Core introAcademy PRO: .NET Core intro
Academy PRO: .NET Core intro
 
Software development with qt
Software development with qtSoftware development with qt
Software development with qt
 
Maemo Development Environment
Maemo Development EnvironmentMaemo Development Environment
Maemo Development Environment
 
Introdução ao Tizen
Introdução ao TizenIntrodução ao Tizen
Introdução ao Tizen
 
Smalltalk on a CE device
Smalltalk on a CE deviceSmalltalk on a CE device
Smalltalk on a CE device
 
AISEC 12 april 2012 Introduction to Windows Embedded Handheld programming
AISEC 12 april 2012   Introduction to Windows Embedded Handheld programmingAISEC 12 april 2012   Introduction to Windows Embedded Handheld programming
AISEC 12 april 2012 Introduction to Windows Embedded Handheld programming
 
Srikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latest
 
Native Application Development With Qt
Native Application Development With QtNative Application Development With Qt
Native Application Development With Qt
 
Targeting Android with Qt
Targeting Android with QtTargeting Android with Qt
Targeting Android with Qt
 
Droidcon uk2012 androvm
Droidcon uk2012 androvmDroidcon uk2012 androvm
Droidcon uk2012 androvm
 
AdminCamp2019 - Notes V10 Upgrades - Alles was man wissen muss!
AdminCamp2019 - Notes V10 Upgrades - Alles was man wissen muss!AdminCamp2019 - Notes V10 Upgrades - Alles was man wissen muss!
AdminCamp2019 - Notes V10 Upgrades - Alles was man wissen muss!
 
Install .Net Core, SQL Server V-Next on Linux and deploy .Net core applicatio...
Install .Net Core, SQL Server V-Next on Linux and deploy .Net core applicatio...Install .Net Core, SQL Server V-Next on Linux and deploy .Net core applicatio...
Install .Net Core, SQL Server V-Next on Linux and deploy .Net core applicatio...
 
Qubes os presentation_to_clug_20150727
Qubes os presentation_to_clug_20150727Qubes os presentation_to_clug_20150727
Qubes os presentation_to_clug_20150727
 
Bienvenido .Net MAUI - la evolución de Xamarin.Forms
Bienvenido .Net MAUI - la evolución de Xamarin.FormsBienvenido .Net MAUI - la evolución de Xamarin.Forms
Bienvenido .Net MAUI - la evolución de Xamarin.Forms
 
Introduction to Cross Platform Development with Xamarin/ Visual Studio
Introduction to Cross Platform Development with Xamarin/ Visual StudioIntroduction to Cross Platform Development with Xamarin/ Visual Studio
Introduction to Cross Platform Development with Xamarin/ Visual Studio
 
Import golang; struct microservice - Codemotion Rome 2015
Import golang; struct microservice - Codemotion Rome 2015Import golang; struct microservice - Codemotion Rome 2015
Import golang; struct microservice - Codemotion Rome 2015
 

Mehr von Andreas Jakl

Create Engaging Healthcare Experiences with Augmented Reality
Create Engaging Healthcare Experiences with Augmented RealityCreate Engaging Healthcare Experiences with Augmented Reality
Create Engaging Healthcare Experiences with Augmented RealityAndreas Jakl
 
AR / VR Interaction Development with Unity
AR / VR Interaction Development with UnityAR / VR Interaction Development with Unity
AR / VR Interaction Development with UnityAndreas Jakl
 
Android Development with Kotlin, Part 3 - Code and App Management
Android Development with Kotlin, Part 3 - Code and App ManagementAndroid Development with Kotlin, Part 3 - Code and App Management
Android Development with Kotlin, Part 3 - Code and App ManagementAndreas Jakl
 
Android Development with Kotlin, Part 2 - Internet Services and JSON
Android Development with Kotlin, Part 2 - Internet Services and JSONAndroid Development with Kotlin, Part 2 - Internet Services and JSON
Android Development with Kotlin, Part 2 - Internet Services and JSONAndreas Jakl
 
Android Development with Kotlin, Part 1 - Introduction
Android Development with Kotlin, Part 1 - IntroductionAndroid Development with Kotlin, Part 1 - Introduction
Android Development with Kotlin, Part 1 - IntroductionAndreas Jakl
 
Android and NFC / NDEF (with Kotlin)
Android and NFC / NDEF (with Kotlin)Android and NFC / NDEF (with Kotlin)
Android and NFC / NDEF (with Kotlin)Andreas Jakl
 
Basics of Web Technologies
Basics of Web TechnologiesBasics of Web Technologies
Basics of Web TechnologiesAndreas Jakl
 
Bluetooth Beacons - Bluetooth 5, iBeacon, Eddystone, Arduino, Windows 10 & More
Bluetooth Beacons - Bluetooth 5, iBeacon, Eddystone, Arduino, Windows 10 & MoreBluetooth Beacons - Bluetooth 5, iBeacon, Eddystone, Arduino, Windows 10 & More
Bluetooth Beacons - Bluetooth 5, iBeacon, Eddystone, Arduino, Windows 10 & MoreAndreas Jakl
 
Which new scenarios are enabled by Windows 10 for NFC, Bluetooth LE & Beacons?
Which new scenarios are enabled by Windows 10 for NFC, Bluetooth LE & Beacons?Which new scenarios are enabled by Windows 10 for NFC, Bluetooth LE & Beacons?
Which new scenarios are enabled by Windows 10 for NFC, Bluetooth LE & Beacons?Andreas Jakl
 
Mobile Test Automation
Mobile Test AutomationMobile Test Automation
Mobile Test AutomationAndreas Jakl
 
Nokia New Asha Platform Developer Training
Nokia New Asha Platform Developer TrainingNokia New Asha Platform Developer Training
Nokia New Asha Platform Developer TrainingAndreas Jakl
 
Windows Phone 8 NFC Quickstart
Windows Phone 8 NFC QuickstartWindows Phone 8 NFC Quickstart
Windows Phone 8 NFC QuickstartAndreas Jakl
 
Windows (Phone) 8 NFC App Scenarios
Windows (Phone) 8 NFC App ScenariosWindows (Phone) 8 NFC App Scenarios
Windows (Phone) 8 NFC App ScenariosAndreas Jakl
 
Windows 8 Platform NFC Development
Windows 8 Platform NFC DevelopmentWindows 8 Platform NFC Development
Windows 8 Platform NFC DevelopmentAndreas Jakl
 
NFC Development with Qt - v2.2.0 (5. November 2012)
NFC Development with Qt - v2.2.0 (5. November 2012)NFC Development with Qt - v2.2.0 (5. November 2012)
NFC Development with Qt - v2.2.0 (5. November 2012)Andreas Jakl
 
06 - Qt Communication
06 - Qt Communication06 - Qt Communication
06 - Qt CommunicationAndreas Jakl
 
05 - Qt External Interaction and Graphics
05 - Qt External Interaction and Graphics05 - Qt External Interaction and Graphics
05 - Qt External Interaction and GraphicsAndreas Jakl
 
03 - Qt UI Development
03 - Qt UI Development03 - Qt UI Development
03 - Qt UI DevelopmentAndreas Jakl
 

Mehr von Andreas Jakl (20)

Create Engaging Healthcare Experiences with Augmented Reality
Create Engaging Healthcare Experiences with Augmented RealityCreate Engaging Healthcare Experiences with Augmented Reality
Create Engaging Healthcare Experiences with Augmented Reality
 
AR / VR Interaction Development with Unity
AR / VR Interaction Development with UnityAR / VR Interaction Development with Unity
AR / VR Interaction Development with Unity
 
Android Development with Kotlin, Part 3 - Code and App Management
Android Development with Kotlin, Part 3 - Code and App ManagementAndroid Development with Kotlin, Part 3 - Code and App Management
Android Development with Kotlin, Part 3 - Code and App Management
 
Android Development with Kotlin, Part 2 - Internet Services and JSON
Android Development with Kotlin, Part 2 - Internet Services and JSONAndroid Development with Kotlin, Part 2 - Internet Services and JSON
Android Development with Kotlin, Part 2 - Internet Services and JSON
 
Android Development with Kotlin, Part 1 - Introduction
Android Development with Kotlin, Part 1 - IntroductionAndroid Development with Kotlin, Part 1 - Introduction
Android Development with Kotlin, Part 1 - Introduction
 
Android and NFC / NDEF (with Kotlin)
Android and NFC / NDEF (with Kotlin)Android and NFC / NDEF (with Kotlin)
Android and NFC / NDEF (with Kotlin)
 
Basics of Web Technologies
Basics of Web TechnologiesBasics of Web Technologies
Basics of Web Technologies
 
Bluetooth Beacons - Bluetooth 5, iBeacon, Eddystone, Arduino, Windows 10 & More
Bluetooth Beacons - Bluetooth 5, iBeacon, Eddystone, Arduino, Windows 10 & MoreBluetooth Beacons - Bluetooth 5, iBeacon, Eddystone, Arduino, Windows 10 & More
Bluetooth Beacons - Bluetooth 5, iBeacon, Eddystone, Arduino, Windows 10 & More
 
Which new scenarios are enabled by Windows 10 for NFC, Bluetooth LE & Beacons?
Which new scenarios are enabled by Windows 10 for NFC, Bluetooth LE & Beacons?Which new scenarios are enabled by Windows 10 for NFC, Bluetooth LE & Beacons?
Which new scenarios are enabled by Windows 10 for NFC, Bluetooth LE & Beacons?
 
Mobile Test Automation
Mobile Test AutomationMobile Test Automation
Mobile Test Automation
 
Nokia New Asha Platform Developer Training
Nokia New Asha Platform Developer TrainingNokia New Asha Platform Developer Training
Nokia New Asha Platform Developer Training
 
Windows Phone 8 NFC Quickstart
Windows Phone 8 NFC QuickstartWindows Phone 8 NFC Quickstart
Windows Phone 8 NFC Quickstart
 
Windows (Phone) 8 NFC App Scenarios
Windows (Phone) 8 NFC App ScenariosWindows (Phone) 8 NFC App Scenarios
Windows (Phone) 8 NFC App Scenarios
 
Windows 8 Platform NFC Development
Windows 8 Platform NFC DevelopmentWindows 8 Platform NFC Development
Windows 8 Platform NFC Development
 
NFC Development with Qt - v2.2.0 (5. November 2012)
NFC Development with Qt - v2.2.0 (5. November 2012)NFC Development with Qt - v2.2.0 (5. November 2012)
NFC Development with Qt - v2.2.0 (5. November 2012)
 
06 - Qt Communication
06 - Qt Communication06 - Qt Communication
06 - Qt Communication
 
05 - Qt External Interaction and Graphics
05 - Qt External Interaction and Graphics05 - Qt External Interaction and Graphics
05 - Qt External Interaction and Graphics
 
04 - Qt Data
04 - Qt Data04 - Qt Data
04 - Qt Data
 
03 - Qt UI Development
03 - Qt UI Development03 - Qt UI Development
03 - Qt UI Development
 
02 - Basics of Qt
02 - Basics of Qt02 - Basics of Qt
02 - Basics of Qt
 

Kürzlich hochgeladen

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 

Kürzlich hochgeladen (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

Quickstart: Qt for Windows, Symbian and Maemo / Meego v2.0.8 (January 10th, 2011)

  • 1. Quickstart Qt for Windows, Symbian and Maemo / MeeGo Andreas Jakl Senior Technical Consultant Forum Nokia 10 January, 2011 v2.0.8
  • 2. Task • Run a Hello World application on – Windows – Maemo 5 device – Symbian device Windows 7 Maemo 5 Symbian^1 (S60 5th Edition)
  • 3. Prerequisites • Requirements for this tutorial: – Windows XP / 7 – Development on Linux / Mac OS similar (partly in beta right now)! • General hints: – Install all tools to the same drive (e.g., C:) – Do not use network drives – Use default installation paths. Be wary of paths that contain spaces / special characters
  • 5. Qt SDKs from qt.nokia.com Common Qt APIs Qt SDK for Nokia Qt Qt SDK for Qt SDK for Qt SDK for Qt SDK for Embedded SDK Windows Windows CE Mac OS Linux / X11 Linux Windows Other Symbian Simulator Mac OS X Linux (X11) CE / Mobile devices Maemo / Windows (MeeGo) XP / Vista / 7 You can of course install multiple SDKs at the same time
  • 6. Nokia Qt SDK • One-Click installation: – Development tools – Build for and debug in real devices • Symbian • MeeGo / Maemo – Test on host PC • Simulator – Qt Mobility • No extra device SDKs required anymore
  • 7. Installation • Install Nokia Qt SDK – For mobile development – Works on Windows, Mac & Linux • Install Qt SDK for Windows – Optional – For desktop development http://www.forum.nokia.com/Qt http://qt.nokia.com/downloads
  • 8. New Qt Project File → New File or Project… Empty Qt Project Project properties – Name: Hello World – Create in: workspace directory on same drive as tools, without space characters Qt versions – Select all targets you are interested in
  • 9. Main Source File Project management – Accept defaults Right-click on project → Add New… → C++ source file – Name: main.cpp – Path: project path (default) – Accept defaults on next page
  • 10. Hello World – Source Code Write following code into empty main.cpp: main.cpp #include <QApplication> #include <QPushButton> int main(int argc, char *argv[]) { QApplication app(argc, argv); QPushButton helloButton("Hello World"); helloButton.resize(150, 50); helloButton.show(); return app.exec(); }
  • 11. Run the Application Make sure “Desktop” is current build target Click on play arrow
  • 12. Hello World – Components • QApplication – One per GUI app – Manages app-wide resources (default font, cursor, ...) • QPushButton – Default widget, based on QWidget – Can process user input and draw graphics
  • 13. Extend Hello World: Quit • Add functionality to exit the Hello World example: QObject::connect(&helloButton, SIGNAL(clicked()), &app, SLOT(quit())); – Button emits clicked() signal – Connected to QApplication::quit()
  • 14. Signals & Slots • Signal – Emitted when a particular event occurs (e.g., clicked()) – Qt widgets: predefined signals – Also create your own signals • Slot – Function called in response to a signal – Qt widgets: predefined slots (e.g., quit()) – Also create your own slots • Connection signals  slots established by developer, handled by Qt framework
  • 15. Nokia Qt SDK: Simulator • Efficient Testing – Quick launch – Scripting possibilities • Using JavaScript – Simulate Qt Mobility Project features • Location, contacts, etc. – Simulate phone events • Battery, messages, etc. – Skins for different platforms / form-factors • Resolutions, orientation, etc.
  • 16. Launching the Qt Simulator • Execute Hello World on Simulator – Select Qt Simulator target – Click on Play
  • 17. 10.01.2011 17 Qt for Maemo / MeeGo
  • 18. Qt for Maemo • Development options – Full Linux Environment (with Scratchbox) • Install Linux on your PC (e.g., Ubuntu) • Guide: http://wiki.maemo.org/Documentation/Maemo_5_Final_SDK_Installation • Or use VMware on Windows / Mac (image is a bit outdated) – http://maemovmware.garage.maemo.org/ – Nokia Qt SDK (based on MADDE) • Works on Windows, Linux, Mac OS X • Full Qt support out of the box!
  • 19. MADDE • MADDE? – Comes with Nokia Qt SDK – Maemo Application Development and Debugging Environment – Toolchain that supports compiling and deploying MeeGo applications without setting up an own Linux environment – Cross-Compilation – http://wiki.maemo.org/MADDE
  • 20. Maemo → MeeGo • MeeGo fully compatible to Qt & Qt Creator – As a 3rd party developer, most changes to the OS are irrelevant to you if you use Qt – Start developing now on Maemo 5!
  • 21. Setting up the Device • Configure your N900 – To enable direct deployment and debugging from Qt Creator – Requires installing MAD Developer tools • Add developer repositories to download tools – Open the App manager on the N900 – Menu → Application catalogues → New • Catalogue name: Extras • Web address: http://repository.maemo.org/extras/ • Distribution: fremantle • Components: free non-free
  • 22. Mad Developer • Download and install – mad-developer package – In Application manager, click on Download → All → start typing “mad-” on hardware keyboard to filter list and search for apps
  • 23. Connect the Device • Select connection mode – Start the “Mad Developer” application on the N900 – Click on “Manage USB” → “Load g_ether” • In any connection mode prompts that pop up, just close the dialog by clicking outside of it – Make sure “Module in use” is “g_ether” and click close
  • 24. Connect the Device • Configure USB / Ethernet connection – Click on “Edit” and ensure following setup • IP Address: 192.168.2.15 • Netmask: 255.255.255.0 – Click on “Configure” to apply
  • 25. Configure the PC Windows 7: Network and Sharing Center → Change adapter settings • Set a static IP for the USB Ethernet connection to the N900 – Open the Network Connections – Right-click on the Local Area Connection of the “Linux USB Ethernet/RNDIS Gadget” device → Properties – Select “Internet Protocol (TCP/IP)” → Properties – Enter a static IP setting • IP address: 192.168.2.14 • 255.255.255.0 • Default gateway: 192.168.2.15 (or leave empty)
  • 26. Connect Qt Creator to Maemo Device • Test the connection – Start Qt Creator – Options → Qt4 → Maemo Devices – Add a device, choose a configuration name (e.g., “N900”) – Ensure setup is as shown in screenshot • Authentication type: Password • Host Name: 192.168.2.15
  • 27. Connection Password • Create password – In Mad Developer, click on “Developer Password” • Different pwd than in screenshot! • New pwd generated every time • Do not close the dialog window showing the pwd! – Enter the password in Qt Creator – Click on “Test”
  • 28. Deploy to N900 • Execute Hello World on N900 – Select Maemo target – Click on Play
  • 29. Faster Execution: SSH Key • Create SSH keys once instead of defining a new password for every connection – Make sure your active connection with the password is working Generate SSH Key … → Generate SSH Key Save both the public and the private key to your computer Deploy the public key to your device, specify the private key on the PC
  • 30. Optification • Storage memory on the N900 – 256 MB NAND memory: Fast, but high power requirements → not so big by design. For bootloader, kernel and root. The “Storage Usage” application gives a graphical overview of memory usage – 32 GB eMMC: large, but slower. and also lists the memory by package • /home: ~ 2 GB • /home/usr/MyDocs: ~ 29 GB • Memory usage rules for applications – Put large files on eMMC memory, not into small rootfs → “Optification” – Required for Ovi Store submission: http://wiki.maemo.org/Ovi_Store_publishing – Documentation: http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Packaging,_Deploying_and_Distributing/Installing_u nder_opt_and_MyDocs
  • 32. Symbian & Qt Nokia N95 (2007) • Qt for Symbian: – Compatible to S60 3.1+ (Nokia N95, E71) – Nokia devices platform versions: http://www.forum.nokia.com/devices/ * Qt can be installed on all compatible devices. Not all devices are enabled in the Smart Installer, which is required for deploying Qt apps through the Ovi Store. More devices are constantly added as compatibility tests are being performed. Current Smart Installer device deployment support: http://www.forum.nokia.com/Distribute/Packaging_and_signing.xhtml
  • 33. Install Qt to the Device < Symbian^3 • .sis-file: Symbian installation file • Qt installation files in your Qt/Symbian SDK dir – C:NokiaQtSDKSymbiansisqt_installer.sis: Installs Qt libraries – C:NokiaQtSDKSymbiansisqtmobility.sis: Contains additional Qt Mobility APIs * – C:NokiaQtSDKSymbiansisfluidlauncher.sis: Installs demos • Installation to mass memory. Choose one method: 1. Send through Bluetooth to device 2. Use Ovi Suite, connect your device and double-click .sis-file 3. Copy .sis-file to device / SD card and start installation through file manager on device • Restart the device * Note: Symbian^3 requires a different Qt Mobility installation file, which is part of the Nokia Qt SDK 1.0.1+.
  • 34. Automatic Deployment & On-Device Debug • Requires debug agent running on device: App TRK • Install: – C:NokiaQtSDKSymbiansiss60_5_0_app_trk_3_x_x.sisx for S60 5.0. Choose appropriate TRK for your phone. – Install to phone memory (C:) • Run the TRK on the device – Setup connection using Bluetooth or USB cable – Recommended: USB TRK contained in Nokia Qt SDK. Online download: http://tools.ext.nokia.com/trk/
  • 35. TRK: USB Connection • Debugging through USB is faster and easier – Very first start of TRK on device: cancel Bluetooth connection attempt
  • 36. Testing the Device Connection Go to the Run Settings tab of the Symbian Device Click on the i symbol to check the active TRK connection Press play to deploy and run
  • 37. Hello World on Symbian
  • 38. Smart Installer Qt Install App (& SI) Required Qt version not already installed? Download and install Qt http://wiki.forum.nokia.com/index.php/Nokia_Smart_Installer_for_Symbian
  • 39. Open Signed Signing & Certificates (Developer Certificate) • Self-Signed application (default): – Security warning during installation – No access to restricted features (e.g., powering off the device) • Reasons for signing: – Prevent sabotage of installation files (.sis) – Identification of the software developer – Access to APIs (Capabilities) for sensitive features (calendar, location, etc.) Self-Signed app installation
  • 40. Symbian Distribution • Now free through Ovi Publish program – Sign up: • Publisher ID from TrustCenter http://www.forum.nokia.com/Distribute/Pack – $200 / year, only for companies aging_and_signing.xhtml – Allows creating developer certificate – http://www.trustcenter.de/en/products/tc_publi – Get a test certificate for development sher_id_for_symbian.htm (if you require restricted capabilities in • Sign your app through: your app) – Express Signed: instant, €10 – (or Certified Signed: external test house, €185+) – Thoroughly test your app: – https://www.symbiansigned.com/ http://tiny.symbian.org/testcriteria – Submit finished app to the Ovi Store for free
  • 42. Taking Screenshots • Maemo – Ctrl + Shift + P: Saves to /home/user/MyDocs/.images/Screenshots • Symbian – Download Best Screen Snap for S60 (Freeware) http://www.smartphoneware.com/screen_snap-for-s60-5th-edition-download.php – Set image type to “BMP – true color” for maximum quality
  • 43. Working with GIT from Windows • Use bleeding edge code? – Qt developed as open source – You can download latest development source from GIT repositories – Warning: not for beginners! Needs manual compilation. Commercial ARM compiler required for compiling Qt for Symbian. • Install Windows client software – msysgit: http://code.google.com/p/msysgit/ – TortoiseGit: http://code.google.com/p/tortoisegit/
  • 44. Downloading from GIT • Search repository you want to download locally (clone) – http://qt.gitorious.org/ – Get repository URL • Clone the repository – In Windows Explorer, go to parent of target directory (e.g., C:Qt) – Right-click → Git Clone…
  • 45. Downloading from GIT • Configure download – Enter repository URL – Make sure your firewall / proxy doesn’t block download
  • 47. Troubleshooting: Qt Not Found Platform: Windows • Situation – Full Qt for Windows SDK is installed, created a Qt Creator project • Problem – Error when compiling, similar to: No valid Qt version set. Set one in Tools/Options Error while building project GuiTest When executing build step 'QMake' Canceled build. • Solution – Go to Tools → Options → Qt4. Click on the “+” button to define a manual Qt version. Set the QMake and MinGW location to your SDK dirs (see screenshot on next slide)
  • 48. Troubleshooting: Qt Not Found Platform: Windows Solution: Add Qt manually
  • 49. Troubleshooting: Network Drives Platform: Windows • Situation – Created / opened a project on a network drive on Windows • Problem – Error when compiling, similar to: Error processing project file: //fshome/.../TestProject.pro Exited with code 3. Error while building project TestProject When executing build step 'QMake' • Solution – Create your project on a local drive, not a network drive. If a network drive is required, make sure it is accessed through a drive letter instead of the //…/-path
  • 50. Troubleshooting: vtable references Platform: Generic • Situation – Added metaobject functionality to existing plain C++ class (signals / slots, added derivation from QObject, added Q_OBJECT macro) • Problem – Error when compiling, similar to: debug/myclass.o: In function `MyClass': C:QtworkspaceFoo/myclass.cpp:3: undefined reference to `vtable for MyClass' C:QtworkspaceFoo/myclass.cpp:3: undefined reference to `vtable for MyClass' collect2: ld returned 1 exit status mingw32-make[1]: *** [debugFoo.exe] Error 1 mingw32-make: *** [debug] Error 2 Exited with code 2. – Build → Clean All doesn’t help
  • 51. Troubleshooting: vtable references II Platform: Generic • Solution – Qt Creator doesn’t necessarily recognize changes, as your class now needs to be processed using the meta object compiler (moc) during the compilation process. – Elegant solution: in Qt Creator, choose: Build → Run qmake – Less elegant solution: Directly delete makefiles from explorer / terminal and compile again. This ensures that all makefiles are re-generated.
  • 52. Troubleshooting: Qt DLLs Platform: Windows • Situation – Successfully compiled application, execution through Qt Creator works. • Problem – When executing .exe-file directly through Windows Explorer: error message – DLL files not found. – Common: mingwm10.dll, qtcore4.dll, qtgui4.dll, qtcored4.dll, qtguid4.dll
  • 53. Troubleshooting: Qt DLLs II Platform: Windows • Solution – Search for location of DLL files on PC, add directories to system environment variables. – -Key + Pause → Advanced system settings → Advanced → Environment Variables… Add at the end of Path variable in user or system variables. – Commonly needed: C:NokiaQtSDKmingwbin; C:Qt2010.02qtbin – Not allowed to modify PATH? Copy required DLLs to executable directory. – More information: http://doc.qt.nokia.com/deployment- windows.html
  • 54. Troubleshooting: DLL Entry Point Platform: Windows • Situation – Successfully compiled application, executing .exe through Windows Explorer • Problem – Error message like: The procedure entry point ?end@QListData@@QBEPAPAXXZ could not be located in the dynamic link library QtCore4.dll • Solution – Wrong version of dynamically linked Qt Dll was found and is used by Windows. – Modify PATH environment variable, move Qt directories to the front of System Variables. Or: copy DLLs to executable directory.
  • 55. .sis Installation Fails Platform: Symbian • Situation – Successfully compiled application for a Symbian device • Problem – Installation fails with an error message like: Deploying application to 'Nokia N97 mini USB (COM9)'... Copying installation file... Installing application... Could not install from package C:xxx.sis on device: General OS-related error Finished. • Solution – Install the .sis-file manually through the Nokia Ovi Suite or by simply sending the .sis-file to the phone using Bluetooth or an USB connection. You will then see the full error message on the device. For example, you might have an old Qt version installed on your phone.
  • 56. .sis Installation Fails II Platform: Symbian • Common issues – Certificate validity: are both PC and device date & time correct? – Changed certificate type or UID: uninstall old app version from device before installing new version – Correct certificate: only “User Capabilities” can be used with self-signed certificate created by default from Qt Creator. For other capability groups, you need a developer certificate – get this for free through Publish to Ovi. http://developer.symbian.org/wiki/index.php/Capabilities_%28Symbian_Signed%29 – Checklist: http://developer.symbian.org/wiki/index.php/Troubleshoot_install_errors • Getting more details – Install ErrRd utility to the phone: http://www.symbianresources.com/cgi-bin/schlabo/dl.pl?ErrRd – You will get error code during installation. Overview of codes: http://blogs.forum.nokia.com/blog/lucian-tomuas-forum-nokia-blog/2009/09/29/the-ultimate- software-installer-debug-guide
  • 57. Troubleshooting: .sis vs .sisx? Platform: Symbian • What’s the difference? – No difference to Symbian device, it’s just the filename. – Common: .sisx = signed version of unsigned .sis. But: – Nokia Qt SDK: .sis is already signed, no .sisx is created! • When not specifying own certificate: .sis is self-signed with automatically generated certificate • Installation of self-signed apps not allowed by default on some operator branded devices – Change: Application manager  Installation settings  Software installation  change from “Signed only” to “All”
  • 58. Thank You. Want to learn more? www.forum.nokia.com/Qt