VAR-SOM-MX6 QT Hello World: Difference between revisions

From Variscite Wiki
(Created page with " How to compile an application with QT Edit Delete post Report this post Information Quote Postby Ron.D » Tue Jan 20, 2015 11:34 am A simple cookbook to...")
 
m (Text replacement - "http://variwiki" to "https://variwiki")
 
(23 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
{{PageHeader|VAR-SOM-MX6 - QT5 Hello World}} {{DocImage|category1=VAR-SOM-MX6|category2=Yocto}} __toc__
How to compile an application with QT
Please follow the QT creator guide: https://variwiki.com/index.php?title=File:YoctoQtCreator.pdf<br>
 
In addition:<br>
    Edit
https://wiki.qt.io/Basic_Qt_Programming_Tutorial<br>
    Delete post
https://wiki.qt.io <br>
    Report this post
http://doc.qt.io/qtcreator/creator-tutorials.html<br>
    Information
http://doc.qt.io/qt-5/qtexamplesandtutorials.html<br>
    Quote
 
Postby Ron.D » Tue Jan 20, 2015 11:34 am
A simple cookbook to show how to compile an application with QT.
Will use one of the sample application as example.
 
1. Build tools
$ cd ~/var-som-mx6-daisy-v6/
$ . ./setup-environment build_x11
edit local.conf and add to the bottom:
#
EXTRA_IMAGE_FEATURES = "debug-tweaks tools-debug eclipse-debug"
 
Fix a bug due to branch removal in QT git.
gedit ../sources/meta-qt5/recipes-qt/qt5/qtsystems_git.bb
Change:
#QT_MODULE_BRANCH = "5.3"
QT_MODULE_BRANCH = ""
 
$ bitbake meta-toolchain-qt5
 
2. install tools
tmp/deploy/sdk/poky-eglibc-x86_64-meta-toolchain-qt5-cortexa9hf-vfp-neon-toolchain-1.6.1.sh
Keep the default install directory /opt/poky/1.6.1
 
3. sample application
$ cd ~/var-som-mx6-daisy-v6/
$ mkdir qtapps
$ cd qtapps
$ cp -a ../build_var/tmp/work/x86_64-linux/qtbase-native/5.2.1-r0/qtbase-opensource-src-5.2.1/examples/opengl/hellowindow ./
$ cd hellowindow
 
$ export PATH=/opt/poky/1.6.1/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi:$PATH
$ export PATH=/opt/poky/1.6.1/sysroots/x86_64-pokysdk-linux/usr/bin/qt5:$PATH
 
Create new file qmake.conf:
#
CROSS_COMPILE = arm-poky-linux-gnueabi-
ROOTFS = /opt/poky/1.6.1/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi
#
QMAKE_CC = $CROSS_COMPILE-gcc
QMAKE_CXX = $CROSS_COMPILE-g++
QMAKE_LINK = $CROSS_COMPILE-g++
QMAKE_LINK_SHLIB = $CROSS_COMPILE-g++
QMAKE_AR = $CROSS_COMPILE-ar cr
QMAKE_OBJCOPY = $CROSS_COMPILE-objcopy
QMAKE_STRIP = $CROSS_COMPILE-strip
#
QMAKE_LFLAGS_RELEASE = -Wl,-O1,-rpath $ROOTFS/usr/lib
#
QMAKE_INCDIR = $ROOTFS/usr/include
QMAKE_LIBDIR = $ROOTFS/usr/lib
QMAKE_INCDIR_X11 = $ROOTFS/usr/include
QMAKE_LIBDIR_X11 = $ROOTFS/usr/lib
QMAKE_INCDIR_OPENGL = $ROOTFS/usr/include
QMAKE_LIBDIR_OPENGL = $ROOTFS/usr/lib
#
 
 
$ qmake
edit the genreated Makefile and insert in the top
#
CROSS_COMPILE = arm-poky-linux-gnueabi
ROOTFS = /opt/poky/1.6.1/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi
#
OE_QMAKE_CC = $(CROSS_COMPILE)-gcc
OE_QMAKE_CXX = $(CROSS_COMPILE)-g++
OE_QMAKE_LINK = $(CROSS_COMPILE)-g++
OE_QMAKE_LINK_SHLIB = $(CROSS_COMPILE)-g++
OE_QMAKE_AR = $(CROSS_COMPILE)-ar cr
OE_QMAKE_OBJCOPY = $(CROSS_COMPILE)-objcopy
OE_QMAKE_STRIP = $(CROSS_COMPILE)-strip
#
 
$ make clean
$ make
copy the hellowindow to your target and run it
export DISPLAY=:0.0
./hellowindow --platform eglfs

Latest revision as of 11:56, 10 June 2020