Qt Creator for VxWorks: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
(Created Qt Creator for VxWorks wiki page)
 
(Add to QtCreator)
 
(9 intermediate revisions by one other user not shown)
Line 1: Line 1:
== '''Qt Creator for VxWorks''' ==
[[Category:Tools::QtCreator]]
Steps to setup Qt Creator for VxWorks
== Steps to setup Qt Creator for VxWorks ==


=== Prepare Qt and VxWorks ===
=== Prepare Qt and VxWorks ===
Line 10: Line 10:
* Copy host qt5 install folder to the target specified prefix folder
* Copy host qt5 install folder to the target specified prefix folder
* For shared version copy also all dependent dynamic system libraries from VSB.
* For shared version copy also all dependent dynamic system libraries from VSB.
* Configure VxWorks to be accessible on the local network
* Configure VxWorks device to be accessible on the local network


=== Enable Qt Creator VxWorks plugin  ===
=== Enable Qt Creator VxWorks plugin  ===
* Qt Creator -> Help -> About Plugins -> VxWorks
* Qt Creator -> Help -> About Plugins -> VxWorks
* Enable VxWorks plugin
* Restart Creator after enabling the plugin
* Restart Creator after enabling the plugin


=== Set up VxWorks configuration to Qt Creator ===
=== Set up VxWorks configuration to Qt Creator ===
* Tools -> Options -> VxWorks
* Qt Creator -> Tools -> Options -> VxWorks
* Add VxWorks installation folder
* Add VxWorks installation folder
* Add MingGW Bin folder
* Add Mingw Bin folder (only on Windows)
* Use Qt installer Tools\mingw492_32\bin
** Use Qt installer Tools\mingw492_32\bin
* '''Note: needs to be set up again after each Creator startup'''
** '''needs to be set up again after each Creator startup'''
* '''Note: needs to be set up before opening VxWorks Qt project'''
** '''needs to be set up before opening VxWorks Qt project'''


=== Set up VxWorks device connection ===
=== Set up VxWorks device connection ===
* Tools -> Options -> Devices
* Qt Creator -> Tools -> Options -> Devices
* Press ”Add...” select ”VxWorks device”
* Press ”Add...” select ”VxWorks device”
* Name the device: VxWorks Device
* Name the device: VxWorks Device
Line 33: Line 34:


=== Add VxWorks Qt version to Qt Creator ===
=== Add VxWorks Qt version to Qt Creator ===
* Tools -> Options -> Build & Run -> Qt Versions
* Qt Creator -> Tools -> Options -> Build & Run -> Qt Versions
* Add compiled Qt for VxWorks to the qmake location and Apply
* Add compiled Qt for VxWorks to the qmake location and Apply
* Name it for example: Qt 5.5.1 VxWorks
* Name it for example: Qt 5.5.1 VxWorks
   
   
=== Add Creator Kit for VxWorks Qt version and the device ===
=== Add Creator Kit for VxWorks Qt version and the device ===
* Tools -> Options -> Build & Run -> Kits
* Qt Creator -> Tools -> Options -> Build & Run -> Kits
* Device Type: VxWorks Device
* Device Type: VxWorks Device
* Device: VxWorks Device
* Device: VxWorks Device
Line 49: Line 50:
* Select Qt 5.5.1 VxWorks Kit for the application
* Select Qt 5.5.1 VxWorks Kit for the application
* Add needed environment variables:
* Add needed environment variables:
** Projects -> Qt 5.5.1 VxWorks Kit -> Run -> Run Environment
** Qt Creator -> Projects -> Qt 5.5.1 VxWorks Kit -> Run -> Run Environment
** Most easiest is to paste ready made configuration to the batch edit  
** Most easiest is to paste ready made configuration to the batch edit  
* Just build & run.  
* Just build & run.  
* Qt Creator just uploads and starts application on the device. Unfortunately there’s no progress bar to show uploading. So just wait and see the result from the VxWorks device.
* Qt Creator uploads and starts application on the device.
* '''It might take from few sec to minutes to upload static application to the device'''
** '''There’s no progress bar to show uploading. So just wait and see the result from the VxWorks device.'''
* It doesn't show any errors. See possible errors from the device terminal.
** '''It might take from few seconds to minutes to upload static application to the device'''
** '''Creator doesn't show any errors of the uploading or running issues. See possible errors from the device terminal.'''


=== Troubleshooting & FAQ ===
=== Troubleshooting & FAQ ===
Line 60: Line 62:
* Close the project, add MinGW Bin folder to VxWorks configuration, re-open project
* Close the project, add MinGW Bin folder to VxWorks configuration, re-open project
'''Application is not uploaded'''
'''Application is not uploaded'''
* Check connection cable, IP-adress and run ”Test TCF connection” from the VxWorks device.
* Check connection cable, IP-adress and run ”Test TCF connection” from the Creator VxWorks device configuration.
'''Application is not started'''
'''Application is not started'''
* Check that all needed libraries, plugins, qml files and other possible dependencies are located in the correct Qt target folder in the device. Usually some module or plugin may be missed from the Qt configuration.  
* Check that all needed libraries, plugins, qml files and other possible dependencies are located in the correct Qt target folder in the device. Usually some module or plugin may be missed from the Qt configuration.  
* If you have shared Qt. Check that LD_LIBRARYPATH is pointing to the target Qt lib folder. Check also that dependent system libraries are accessible.
* If you have shared Qt. Check that LD_LIBRARYPATH is pointing to the target Qt lib folder. Check also that dependent system libraries are accessible.
* Check by VxWorks terminal command "i" is the application started or not
* Check from device terminal by VxWorks command "i" is the application started or not
'''Text is too small to read'''
'''Text is too small to read'''
* Set QT_QPA_EGLFS_PHYSICAL_HEIGHT and QT_QPA_EGLFS_PHYSICAL_WIDTH to be aligned with the device screen physical size.
* Set QT_QPA_EGLFS_PHYSICAL_HEIGHT and QT_QPA_EGLFS_PHYSICAL_WIDTH to be aligned with the device screen physical size.
'''Application “has been deleted due to signal 6.” in the VxWorks'''
'''Application “has been deleted due to signal 6.” in the VxWorks'''
* Set QT_QPA_EGLFS_FB point to correct FB
* Set QT_QPA_EGLFS_FB point to correct FB
* Make sure that environment variables are set to Run Settings and NOT to Build Settings
'''All settings looks to be ok on the Creator but application still won't start'''
'''All settings looks to be ok on the Creator but application still won't start'''
* Copy and launch application manually from the device to see more logs. For example missing libraries are not detected when starting application from the Creator.
* Copy application manually to the device and run it from the VxWorks terminal to see more output errors. For example missing libraries are not detected when starting application from the Creator.
'''How to debug VxWorks application from the Qt Creator?'''
'''How to debug VxWorks application from the Qt Creator?'''
* Not supported.
* Not supported. To debug, you have to run application from the VxWorks terminal and use VxWorks debugging tools.
'''What Qt examples can be run from the Qt Creator?'''
'''What Qt examples can be run from the Qt Creator?'''
* Examples that contains VxWorks supported features.
* Examples that contains VxWorks supported features.
* See supported modules and add-ons from http://doc.qt.io/qt-5/vxworks.html
* See supported modules and add-ons from http://doc.qt.io/qt-5/vxworks.html

Latest revision as of 15:28, 25 November 2016

Steps to setup Qt Creator for VxWorks

Prepare Qt and VxWorks

  • Create VxWorks VSB and VIP to support used device and Qt
  • Configure and build Qt for VxWorks
    • Use prefix to point VxWorks Qt target folder. For example sd-card: /sd1:0/qt5
  • See options from http://doc.qt.io/qt-5/vxworks.html
  • After build, install modules to the host prefix
  • Copy host qt5 install folder to the target specified prefix folder
  • For shared version copy also all dependent dynamic system libraries from VSB.
  • Configure VxWorks device to be accessible on the local network

Enable Qt Creator VxWorks plugin

  • Qt Creator -> Help -> About Plugins -> VxWorks
  • Enable VxWorks plugin
  • Restart Creator after enabling the plugin

Set up VxWorks configuration to Qt Creator

  • Qt Creator -> Tools -> Options -> VxWorks
  • Add VxWorks installation folder
  • Add Mingw Bin folder (only on Windows)
    • Use Qt installer Tools\mingw492_32\bin
    • needs to be set up again after each Creator startup
    • needs to be set up before opening VxWorks Qt project

Set up VxWorks device connection

  • Qt Creator -> Tools -> Options -> Devices
  • Press ”Add...” select ”VxWorks device”
  • Name the device: VxWorks Device
  • Launch VxWorks on the device and check the target device IP address. Add IP address to the Target hostname.
  • Press ”Test TCF connection” to test the connection
  • Be aware that IP might be changed time to time if you’re using DHCP

Add VxWorks Qt version to Qt Creator

  • Qt Creator -> Tools -> Options -> Build & Run -> Qt Versions
  • Add compiled Qt for VxWorks to the qmake location and Apply
  • Name it for example: Qt 5.5.1 VxWorks

Add Creator Kit for VxWorks Qt version and the device

  • Qt Creator -> Tools -> Options -> Build & Run -> Kits
  • Device Type: VxWorks Device
  • Device: VxWorks Device
  • Compiler: VxWorks GCC 4.8.1.5 (arm)
  • Debugger: GNU gdb 7.8 for MinGW 4.9.2 32bit
  • Qt version: Qt 5.5.1 VxWorks

Build and run application

  • Create or open exists Qt application
  • Select Qt 5.5.1 VxWorks Kit for the application
  • Add needed environment variables:
    • Qt Creator -> Projects -> Qt 5.5.1 VxWorks Kit -> Run -> Run Environment
    • Most easiest is to paste ready made configuration to the batch edit
  • Just build & run.
  • Qt Creator uploads and starts application on the device.
    • There’s no progress bar to show uploading. So just wait and see the result from the VxWorks device.
    • It might take from few seconds to minutes to upload static application to the device
    • Creator doesn't show any errors of the uploading or running issues. See possible errors from the device terminal.

Troubleshooting & FAQ

”Libgcc_s_dw2-1.dll is missing” or ”Project ERROR: Failed to parse qmlimportscanner output.”

  • Close the project, add MinGW Bin folder to VxWorks configuration, re-open project

Application is not uploaded

  • Check connection cable, IP-adress and run ”Test TCF connection” from the Creator VxWorks device configuration.

Application is not started

  • Check that all needed libraries, plugins, qml files and other possible dependencies are located in the correct Qt target folder in the device. Usually some module or plugin may be missed from the Qt configuration.
  • If you have shared Qt. Check that LD_LIBRARYPATH is pointing to the target Qt lib folder. Check also that dependent system libraries are accessible.
  • Check from device terminal by VxWorks command "i" is the application started or not

Text is too small to read

  • Set QT_QPA_EGLFS_PHYSICAL_HEIGHT and QT_QPA_EGLFS_PHYSICAL_WIDTH to be aligned with the device screen physical size.

Application “has been deleted due to signal 6.” in the VxWorks

  • Set QT_QPA_EGLFS_FB point to correct FB
  • Make sure that environment variables are set to Run Settings and NOT to Build Settings

All settings looks to be ok on the Creator but application still won't start

  • Copy application manually to the device and run it from the VxWorks terminal to see more output errors. For example missing libraries are not detected when starting application from the Creator.

How to debug VxWorks application from the Qt Creator?

  • Not supported. To debug, you have to run application from the VxWorks terminal and use VxWorks debugging tools.

What Qt examples can be run from the Qt Creator?