This document provides instructions for running a Hello World application on Windows, Maemo, and Symbian using Qt. It discusses installing Qt SDK for Windows, MADDE for Maemo development without installing Linux, and the Symbian SDK. It also provides troubleshooting tips for common Qt and deployment issues.
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDKMarco Cavallini
Excerpt of the lectures at Yocto Project Dev Day in Prague, 2017
During the advanced class Marco Cavallini ran this presentation about the creation of a Linux kernel module with eSDK.
Explains how to install Necessitas (Qt for Android), how to use it, and how to publish to the Android Market. Based on Necessitas 0.3 (3rd alpha)
Slides are from Qt Developer Days 2011 in San Fransisco
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDKMarco Cavallini
Excerpt of the lectures at Yocto Project Dev Day in Prague, 2017
During the advanced class Marco Cavallini ran this presentation about the creation of a Linux kernel module with eSDK.
Explains how to install Necessitas (Qt for Android), how to use it, and how to publish to the Android Market. Based on Necessitas 0.3 (3rd alpha)
Slides are from Qt Developer Days 2011 in San Fransisco
The Yocto Project is a collaborative open source project that provides prototypes, tools and methods that let you create personalized Linux-based systems for embedded products independent from the hardware architecture. The project was born in 2010 as a partnership of many different hardware manufacturers, open-source operative systems providers and electronic companies, to bring some order to the chaos that was the development of Linux Embedded. Why use Project Yocto? Because it's a development environment for Linux embedded complete with tools, meta-data and documentation - everything that one needs. The free of charge tools that Yocto makes available are powerful and easy to generate (included emulation environments, debuggers, a tool-kit to generate applications and others) and they let you create and continue projects, without causing you a loss of optimizations and investments made in the prototyping phase. Project Yocto supports the adoption of this technology by the open-source community letting users concentrate on the characteristics and development of their product.
This slide introduces about Gnome on Wayland. Wayland is a brand new software accelerated graphic server will replace from X11. a combination of the Gnome and the Wayland is a next generation desktop environment. Created by Seong-ho Cho, Translator of the Gnome Korea.
Using Docker to build and test in your laptop and JenkinsMicael Gallego
Docker is changing the way we create and deploy software. This presentation is a hands-on introduction to how to use docker to build and test software, in your laptop and in your Jenkins CI server
Cutest technology of them all - Forum Nokia Qt Webinar December 2009Nokia
Qt now and in the future - overview of Qt and the plans for Nokia platforms. Newest features of Qt including animation framework, gestures etc. Qt for Symbian and Maemo. Qt Mobility APIs. Hybrid Applications.
Choosing a communication platform is an important decision. From simple two-way communication to complex multi-node architectures, ZeroMQ, the embeddable networking library, helps provide a safe, fast and reliable communication medium.
This webinar will give you an overview of the ZeroMQ architecture, explaining the advantages and exploring usage patterns and cross-platform capabilities. We'll also go through examples of the patterns using different languages, including C++, Swift, Python and C.
The Yocto Project and OpenEmbedded are often used for building custom GNU/Linux distributions for powering interactive kiosk and displaying HTML5 content.
Although Chromium is the most popular choice for a web browser, it is infamous for the long build time. In this presentation you will see a practical alternative approach using the surf web browser. Surf is a simple minimalist web browser based on WebKit2/GTK+ with interface that does not include any graphical control elements. It a perfect fit for a kiosk.
The presentation will offer the exact steps how to build a minimal GNU/Linux distribution with systemd, X11, openbox window manager and the Surf web browser. Furthermore, we will discuss practical examples for software over air updates of this simple distribution. Raspberry Pi 4 will be used as a reference hardware for all demonstrations.
This presentation is suitable for beginners. It will demonstrate a practical use of the Yocto Project/OpenEmbedded for a common use case, some tips and tricks as well as examples for selection systemd as init system and software over the air mechanism.
Quickstart: Qt for Windows, Symbian and Maemo / Meego v2.0.8 (January 10th, 2...Andreas Jakl
Complete instructions on how to set up your development environment to develop using Qt and deploy with one click to Windows, Symbian, Maemo / MeeGo and the Qt Simulator. Based on the Nokia Qt SDK Beta.
The Yocto Project is a collaborative open source project that provides prototypes, tools and methods that let you create personalized Linux-based systems for embedded products independent from the hardware architecture. The project was born in 2010 as a partnership of many different hardware manufacturers, open-source operative systems providers and electronic companies, to bring some order to the chaos that was the development of Linux Embedded. Why use Project Yocto? Because it's a development environment for Linux embedded complete with tools, meta-data and documentation - everything that one needs. The free of charge tools that Yocto makes available are powerful and easy to generate (included emulation environments, debuggers, a tool-kit to generate applications and others) and they let you create and continue projects, without causing you a loss of optimizations and investments made in the prototyping phase. Project Yocto supports the adoption of this technology by the open-source community letting users concentrate on the characteristics and development of their product.
This slide introduces about Gnome on Wayland. Wayland is a brand new software accelerated graphic server will replace from X11. a combination of the Gnome and the Wayland is a next generation desktop environment. Created by Seong-ho Cho, Translator of the Gnome Korea.
Using Docker to build and test in your laptop and JenkinsMicael Gallego
Docker is changing the way we create and deploy software. This presentation is a hands-on introduction to how to use docker to build and test software, in your laptop and in your Jenkins CI server
Cutest technology of them all - Forum Nokia Qt Webinar December 2009Nokia
Qt now and in the future - overview of Qt and the plans for Nokia platforms. Newest features of Qt including animation framework, gestures etc. Qt for Symbian and Maemo. Qt Mobility APIs. Hybrid Applications.
Choosing a communication platform is an important decision. From simple two-way communication to complex multi-node architectures, ZeroMQ, the embeddable networking library, helps provide a safe, fast and reliable communication medium.
This webinar will give you an overview of the ZeroMQ architecture, explaining the advantages and exploring usage patterns and cross-platform capabilities. We'll also go through examples of the patterns using different languages, including C++, Swift, Python and C.
The Yocto Project and OpenEmbedded are often used for building custom GNU/Linux distributions for powering interactive kiosk and displaying HTML5 content.
Although Chromium is the most popular choice for a web browser, it is infamous for the long build time. In this presentation you will see a practical alternative approach using the surf web browser. Surf is a simple minimalist web browser based on WebKit2/GTK+ with interface that does not include any graphical control elements. It a perfect fit for a kiosk.
The presentation will offer the exact steps how to build a minimal GNU/Linux distribution with systemd, X11, openbox window manager and the Surf web browser. Furthermore, we will discuss practical examples for software over air updates of this simple distribution. Raspberry Pi 4 will be used as a reference hardware for all demonstrations.
This presentation is suitable for beginners. It will demonstrate a practical use of the Yocto Project/OpenEmbedded for a common use case, some tips and tricks as well as examples for selection systemd as init system and software over the air mechanism.
Quickstart: Qt for Windows, Symbian and Maemo / Meego v2.0.8 (January 10th, 2...Andreas Jakl
Complete instructions on how to set up your development environment to develop using Qt and deploy with one click to Windows, Symbian, Maemo / MeeGo and the Qt Simulator. Based on the Nokia Qt SDK Beta.
The Universal Developer: Deploying Modern Tcl/Tk Solutions on the MacKevin Walzer
Tk has been supported on the Mac since the mid-1990s, but has undergone more frequent and radical changes that other platforms. This talk will touch on Tk's history on the Mac, the ongoing challenges to keep the toolkit current with the Mac's frequent API changes, and its current place in the Mac's ecosystem--and the Mac's current place in Tk's ecosystem. Finally, the talk will cover some best practices for application development using Tk on the Mac, and porting your Tk application to the Mac.
Serving QML applications over the networkJeremy Lainé
Qt Quick's support for network transparency makes it possible to serve an application's user interface and logic over the network. This allows application developers to adopt fast web-like release cycles, but it does require some planning ahead. The presentation will highlight some benefits of serving QML applications over the network, give an overview of QML's network transparency support and illustrate how to build and serve QML applications. The presentation will also address some of the challenges encountered in a real world application deployment.
Webinar: Building Embedded Applications from QtCreator with DockerBurkhard Stubert
I show how QtCreator builds an embedded application against a Qt SDK encapsulated in a Docker container. QtCreator doesn't know which Yocto version was used for building the Qt SDK and which environment variables must be set for the SDK. QtCreator forwards the CMake calls for configuring, building and staging the application to the container, which executes these calls in the right environment.
Build and run embedded apps faster from qt creator with dockerQt
Have you ever considered, what it would require to use containers to build and deploy applications to embedded targets?
Of course, you have! So, in this webinar, Burkhard Stubert will show you how to replace cross-building your application in a Docker container, stopping the application on the target system, copying the application from your PC to the target system, and starting the application on the target system with… just clicking a button.
Speakers:
- Burkhard Stubert, Solopreneur, Embedded Use
- Tino Pyssysalo, Senior Product Manager, The Qt Company
The Android Native Development Kit (NDK)
NDK Info
What , Why , Why not ?
Requirement Tools & Installation of NDK
Developing an ADD application that uses the NDK
The QNX Photon MicroGUI was a technological feat in its time. It gained popularity in the mid-1990's when QNX released a 1.44Mb bootable floppy with the QNX Operating System, the Photon GUI, networking, web browser, file browser, and several demo applications.
QNX continued to develop and support Photon through 2014, but as GUI development systems matured — and users' expectations for GUIs increased — Blackberry's QNX is now focusing on the basics of drawing to the screen (e.g. QNX Screen) and left other aspects of Graphical User Interfaces to those who do it best (e.g. Qt)
This presentation would be of particular interest to people looking to upgrade their software from an existing Photon system to Qt. It discusses the differences and similarities between the Photon and Qt application development platforms and how one may migrate from one to the other.
The QNX Photon MicroGUI was a technological feat in its time. It gained popularity in the mid-1990's when QNX released a 1.44Mb bootable floppy with the QNX Operating System, the Photon GUI, networking, web browser, file browser, and several demo applications.
QNX continued to develop and support Photon through 2014, but as GUI development systems matured — and users' expectations for GUIs increased — Blackberry's QNX is now focusing on the basics of drawing to the screen (e.g. QNX Screen) and left other aspects of Graphical User Interfaces to those who do it best (e.g. Qt)
This presentation would be of particular interest to people looking to upgrade their software from an existing Photon system to Qt. It discusses the differences and similarities between the Photon and Qt application development platforms and how one may migrate from one to the other.
Why Orchestration on a development machine
K8s on Docker local environment - Implementation details
Demo of K8s on Docker for Mac
So, what problems does it solve?
Real-World Docker: 10 Things We've Learned RightScale
Docker has taken the world of software by storm, offering the promise of a portable way to build and ship software - including software running in the cloud. The RightScale development team has been diving into Docker for several projects, and we'll share our lessons learned on using Docker for our cloud-based applications.
Slides that were presented during the webrtc Qt Cmake tutorial at IIT-RTC in October 2017 in Chicago. The slides are not yet complete, and will be updated later.
Lessons from Contributing to WebKit and BlinkBruno Abinader
Being one of the most successful open source projects to date, WebKit development process consists of a series of protocols and strict policies in order to obtain committer and reviewer status. Blink follows a similar approach with committers and scoped code owners, in a similar fashion as Linux Kernel does with its subsystem maintainers. Their open source success is due to not only solid support from major technology companies, but also to the high quality and automated testing performed on patches before submission. In this presentation, Bruno explains how the development process of both WebKit and Blink projects are - from submitting well-tested patches with strict policies to check, get review from community, and commit upstream via commit-queue system (including early warning system bots). This is a very practical talk with live demonstrations of patch submissions on both projects.
Learn about how the core NuGet team the NuGet Client project. The project has challenges related to:
- Open Source
- Hard Deadlines
- Very Large Backlog
- Many Conflicting Requirements
- Git
We'll talk about our strategies for:
- Issue tracking - Branching
- Continuous integration
- Testing
- Release sign-off
Similar to Andreas Jakl, Qt Symbian Maemo Quickstart (20)
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
2. Task
● Run a Hello World application on
Windows
Maemo 5 device
Symbian device
Windows 7 Maemo 5 Symbian^1
(S60 5th Edition)
2 Andreas Jakl, 2010
3. Prerequisites
● Requirements for this tutorial:
Windows XP / Vista / 7
Around 7.5 GB free disk space for Qt + Symbian + Maemo
● 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
3 Andreas Jakl, 2010
5. Qt for Windows (Desktop)
● Install Qt SDK for Windows
Choose free LGPL version
Contains Qt Creator DIE
http://qt.nokia.com/downloads
5 Andreas Jakl, 2010
6. Qt Creator for Maemo / Symbian
● For better Maemo & Symbian compatibility:
Download and install
Qt Creator 1.3.80+ snapshot:
http://qt.nokia.com/developer/qt-snapshots
Select “Post mortem debugging”
during installation
Ignore any warnings related to
QML components not being found
Tested with version from 3.3.2010
6 Andreas Jakl, 2010
7. New Qt Project
2
1 File → New File or Project…
●
3
2 Empty Qt Project
●
3 Project properties
●
Name: Hello World
Create in: workspace directory won same 4
drive as tools, without space characters
4 Qt versions
●
If already installed: select all targets you are
interested in (e.g., Maemo device, S60 device)
7 Andreas Jakl, 2010
8. Main Source File 5
5 Project management
●
Accept defaults
6 Right-click on project → Add New… →
●
6
C++ source file
Name: main.cpp
Path: project path (default)
Accept defaults on next page
8 Andreas Jakl, 2010
9. Hello World – Source Code
7 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();
}
9 Andreas Jakl, 2010
10. Run the Application
7 Make sure “Desktop” is current build target
●
8 Click on play arrow
●
7
8
10 Andreas Jakl, 2010
11. 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
11 Andreas Jakl, 2010
12. Quit Hello World
● Add functionality to exit the Hello World example:
QObject::connect(&helloButton, SIGNAL(clicked()),
&app, SLOT(quit()));
Button emits clicked() signal
Connected to QApplication::quit()
12 Andreas Jakl, 2010
13. Signals and 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
Also create your own slots
● Connection signals slots established by developer,
handled by Qt framework
13 Andreas Jakl, 2010
14. Troubleshooting: Qt Not Found
● Situation
Full Qt 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)
14 Andreas Jakl, 2010
16. Troubleshooting: Widgets Not Declared
● Situation
Created a console application
Added GUI elements
● Problem
Error when compiling, similar to:
main.cpp:9: error: 'QPushButton' was not declared in this scope
● Solution
Remove the following lines from the .pro-file:
QT -= gui
CONFIG += console
16 Andreas Jakl, 2010
17. Troubleshooting: Network Drives
● 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
17 Andreas Jakl, 2010
18. Troubleshooting: vtable references
● 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
18 Andreas Jakl, 2010
19. Troubleshooting: vtable references II
● 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.
Simple solution:
Directly delete makefiles from
explorer / terminal and
compile again. This ensures that
all makefiles are re-generated.
19 Andreas Jakl, 2010
20. Troubleshooting: Qt DLLs
● 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
20 Andreas Jakl, 2010
21. Troubleshooting: Qt DLLs II
● 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:Qt2010.02mingwbin;
C:Qt2010.02qtbin
Not allowed to modify PATH? Copy required DLLs to
executable directory.
More information:
http://qt.nokia.com/doc/4.6/deployment-windows.html
21 Andreas Jakl, 2010
22. Troubleshooting: DLL Entry Point
● 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.
22 Andreas Jakl, 2010
24. Qt for Maemo
● Development options
Full Linux Environment
– Install Linux on your PC (e.g., Ubuntu)
– VMware on Windows / Mac
– http://maemovmware.garage.maemo.org/
MADDE
– Maemo Application Development and Debugging Environment
– Works on Windows, Linux, Mac OS X
– http://wiki.maemo.org/MADDE
24 Andreas Jakl, 2010
25. MADDE
● Toolchain that supports compiling and deploying Maemo
applications without setting up an own Linux environment
● Status
Technical Preview
Supports Qt 4.5.3
– Qt version of Maemo Firmware PR1.1
– Will switch to Qt 4.6 with PR1.2
http://wiki.maemo.org/MADDE
25 Andreas Jakl, 2010
26. MADDE – Deploying Hello World to N900
● Integration with Qt Creator 1.3.80+
● Follow setup steps from:
http://wiki.maemo.org/MADDE/QtCreator_integration_for_windows
1. Add Extras-devel repository to N900
2. Install and configure MAD Developer tools on the N900
3. Install and configure USB Connectivity tool on PC
4. Setup device connection and password in Qt Creator
26 Andreas Jakl, 2010
27. MeeGo
● Fully compatible to Qt & Qt Creator
● Distribution to be released soon
● Planned support:
MADDE compatible toolchain
Virtual Machine image
27 Andreas Jakl, 2010
29. Symbian: Prerequisites
● Install ActivePerl 5.6.x or 5.8.9 from ActiveState
http://downloads.activestate.com/ActivePerl/releases/5.8.9
.827/ActivePerl-5.8.9.827-MSWin32-x86-291969.msi
29 Andreas Jakl, 2010
30. Symbian: Development Environment
● Step 2: Development Environment
Install the latest ADT (Application Development Toolkit)
http://developer.symbian.org/main/tools_and_kits/downlo
ads/view.php?id=2
If ADT still contains
Carbide.c++ v2.3, download
and extract the latest
development build of v2.5 from:
http://tools.ext.nokia.com/download/dev_build.php
30 Andreas Jakl, 2010
31. Symbian: Device SDK
● Qt for Symbian:
Compatible to S60 3rd. Edition, FP1+ (Nokia N95, E71)
Install SDK for your device, or lowest denominator for devices you want
to support with your product
– Info about system version of Nokia S60 devices:
http://www.forum.nokia.com/devices/
Now: install S60 5th Edition (touch-support):
http://www.forum.nokia.com/info/sw.nokia.com/id/ec866fab-4b76-49f6-b5a5-
af0631419e9c/S60_All_in_One_SDKs.html
Qt Compatibility
Series 60 Series 60 S60 S60 S60 S60 Symbian^2 Symbian^3 Symbian^4
1st Ed. 2nd Ed. 3 rd Ed. 3 rd Ed. 3 rd Ed. 5thEd.
(+ 3 FPs) FP1 FP2 =
Symbian^1
31 Andreas Jakl, 2010
32. Extend S60 SDK
● Windows Vista / 7: Compatibility Issues
http://developer.symbian.org/wiki/index.php/Kits_Q%26As#Can_I_Use_the_Kit
s_on_Windows_Vista.3F
● Install OpenC 1.6+ SDK Plug-In:
Port of standard C libraries to Symbian platform
Required by Qt
http://www.forum.nokia.com/info/sw.nokia.com/id/91d89929-fb8c-4d66-bea0-
227e42df9053/Open_C_SDK_Plug-In.html
32 Andreas Jakl, 2010
33. Symbian: Qt
● Install Qt framework for
Symbian
Qt for Windows-SDK only
contains libraries for
Windows deployment
http://qt.nokia.com/downloads
33 Andreas Jakl, 2010
34. Install Qt to the Device
● .sis-file: Symbian installation file
● Qt installation files in your Qt/Symbian SDK dir
C:Qt4.6.2qt_demos.sis: Installs Qt + dependencies + demos
C:Qt4.6.2qt_installer.sis: Same as above, without 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 install through file manager
on device
● Restart the device
34 Andreas Jakl, 2010
35. Automatic Deployment & On-Device Debug
● Requires App TRK running on device: debug client
● Install:
http://tools.ext.nokia.com/trk/
s60_5_0_app_trk_3_1_2.sisx
● Run the TRK on the device
Setup connection using Bluetooth or
USB cable
35 Andreas Jakl, 2010
36. 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
36 Andreas Jakl, 2010
38. Smart Installer for Symbian
● Automatically downloads and installs Qt on end user device
(if required)
Enables commercial deployment
Ensures up to date Qt version on devices
Reduces installation file size
● http://qt.nokia.com/developer/nokia-smart-installer-for-symbian
38 Andreas Jakl, 2010
39. Signing & Certificates
Open Signed
(Developer Certificate)
● Self-Signed application:
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
Extended access to APIs (Capabilities)
for sensitive features (calendar, location, etc.)
Get rid of warning during installation
Self-Signed
39 Andreas Jakl, 2009
app installation
40. Symbian Distribution
● Requires Publisher ID from TrustCenter
$200 / year
Only for companies
http://www.trustcenter.de/en/products/tc_publisher_id_for_symbian.htm
● Test your app according to test criteria
http://tiny.symbian.org/testcriteria
● Sign your app through:
Express Signed: instant, $20
Certified Signed: external test house, €185+
https://www.symbiansigned.com/
● Distribute through own homepage or app stores (like Nokia Ovi Store)
40 Andreas Jakl, 2010
41. Further Reading
● Qt for Symbian Tutorials
http://developer.symbian.org/wiki/index.php/Qt_Quick_Start
http://qt.nokia.com/doc/4.6/install-symbian.html
http://qt.nokia.com/doc/qtcreator-1.3/creator-qt-for-symbian.html
http://www.forum.nokia.com/Technology_Topics/Development_Platfor
ms/Qt/
41 Andreas Jakl, 2010
42. Troubleshooting: .sis vs .sisx
● Both have been created, installing .sis:
● .sisx = signed version of the .sis
● When not specifying own certificate: self-
signed with automatically generated
certificate
● Installation of self-signed apps not allowed
by default on some (branded) devices
Change: Application manager Installation
settings Software installation change
from “Signed only” to “All”
42 Andreas Jakl, 2009
43. Troubleshooting: .sis-Creation
● Situation
Successfully compiled, app not transferred to the Symbian device
● Problem
Error message in Application Output window
Successfully created helloworld.sis for debug-gcce using certificate: C:Qt4.6.2-symsrcs60installsselfsigned.cer!
Failed to create 'C:QtworkspaceHelloWorldHelloWorld_debug-gcce.sis'
● Solution
Issue of current pre-release of Qt Creator
Install helloworld.sis manually, or use stable Qt Creator 1.3.1 for
deployment to Symbian device
43 Andreas Jakl, 2010