Develop a qt application for Tizen IVI

Introduction

This HOWTO explains full process of installation and configuration Qt SDK for Tizen, needed for developing software with Qt for Tizen NUC [intel.com] which is reference device for Tizen Common profile and Tizen IVI devices. This process applies to Qt for Tizen ivi and has been tested with Ubuntu 14.04 64bit. Other versions have not been tested (feedback is welcome).

While the process has been highly automatized, it consists of several steps.

  • Install tizen development tools [qt-project.org]
  • Download and install Qt 5.4. (Cuz Tizen IVI is installed with QT 5.4, you MUST install the QT5.4 for it. I downloaded a beta version since it’s not released yet.)
  • Download appropriate cross compilers:
    1. Arm and i586 cross compilers are available from Tizen Mobile SDK (see Install Tizen SDK [qt-project.org])
    2. For x86_64 architecture you can use system compiler.
  • Create developer tools
    • Clone the tizenbuildtools git repository:
      1. #git clone b alpha7 git://gitorious.org/tizenbuildtools/tizenbuildtools.git
      2. #cd tizenbuildtools
      3. #git checkout v_alpha7.0
      4. Change profiles:
        1. #vi ~/tizenbuildtools/profiles/ivi/profile_include
        2. Change Two things:
          1. BASE_REPO=http://download.tizen.org/snapshots/tizen/ivi/latest/repos/atom/packages
          2. QT_REPO=http://download.qt-project.org/community_releases/tizen/1.0-alpha4/repositories/tizen-3.0/ivi/ia32/packages
      5. Change qt5Dummy.spec:
        1. #vi qt5Dummy.spec
        2. and Comment one line since it will pop up with error:
          1. #BuildRequires: qt5-plugin-platforminputcontext-compose
      6. for arm wayland
          1. #cd tizenbuildtools/profiles
          2. #./prepare_developer_tools b armv7l p ivi q /home/user/Qt5.4/5.4/gcc_64/bin/qmake
      7. for x86 wayland
          1. #cd tizenbuildtools/profiles
          2. #./prepare_developer_tools b i586 p ivi q /home/user/Qt5.4/5.4/gcc_64/bin/qmake
      8. for x86_64 wayland
          1. #cd tizenbuildtools/profiles
          2. #./prepare_developer_tools b x86_64 p ivi q /home/user/Qt5.4/5.4/gcc_64/bin/qmake
      9. Configure Qt Creator remote access to Intel NUC [intel.com]

 

 

Configure Qt Creator

Tizen Common and IVI

Follow this steps to build,. deploy, debug and run Qt applications on Tizen Common or Tizen IVI (or other Tizen profiles where ssh server is available on device)

Prepare device

By default “app” user (used for development) doesn’t have a password, so if you want to connect using ssh you need to set password:

  1. ssh root@${device_ip}
  2. #password tizen
  3. $> passwd app

and (if you want to log in without password) copy you public key:

  1. #on your host
  2. sshcopyid app@device_ip

Also you need to install Qt libraries on device:

  1. #invoke on device from rot account
  2. zypper in qt*

 

Connect device to Qt Creator

  1. Go to Tools-Options
  2. In Build&Run section
    1. Add corresponding Qt version (Select the crosscompiled qmake; as for me I found a folder named”/home/jiafei427/tizenbuildtools/profiles/ivi/qt5CrossCompileToolsi586″)
    2. Add New Kit
      1. Set previously added Qt Version
      2. As compiler set cross compilers from Tizen SDK or host compiler in case if device and host architectures are the same
      3. The same with debugger
      4. As device type set Generic Linux Device
      5. Click manage button in device section to add Generic Linux Device, next click add, choose Generic Linux Device. In dialog box set name of a device (like Tizen NUC), device’s IP, user name to log in using ssh and password or key authentication.
        Qt Creator Generic Device configuration
      6. After adding the device Qt Creator will test if connection work.
  3. Create new test project:
    1. File->New File or Project->Qt Quick Application
    2. Choose name and directory, then Next, check The kit you created before and click Finish.
    3. Edit *.pro file and add
      1. target.path = /home/app/temporary/deploy

      before

      1. include(deployment.pri)
    4. It should be possible to build and run application on device from Qt Creator. If you have debugger set you should also be able to debug applications.
    5. After click the build to success and you will have to click “deploy” with right clicking your project.
    6. Then you will be able to find your QT Application in your target device. For me, I found it in “/home/app/temporary/deploy”.
    7. Start it with “./<APPLICATION_NAME>”.

 

 

PS. Errors:

  1. To test Open GL Application for the Desktop:
    1. #sudo apt-get install freeglut3-dev
  2. Linking Error:
    1. Error Msg.:
      1. skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.8/libstdc++.so when searching for -lstdc++
      2. "cannot find -lstdc++"
    2. Solution:
      1. “#sudo apt-get install g++-4.8-multilib”.   Then it should do the mojo.
  3. “bits/c++config.h” File Missing
    1. Error Msg.:
      1. In file included from main.cpp:1:
        /usr/include/c++/4.4/iostream:39: fatal error: bits/c++config.h: No such file or directory
        compilation terminated.
    2. Solution:
      1. Copy all the files in “i586-tizen-linux” to the related folder.
  4. asdasads

 

 

 

Reference:

 

http://qt-project.org/wiki/Build-Qt-for-Tizen

https://gitorious.org/tizenbuildtools

http://qt-project.org/wiki/Tizen

 

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s